En este ejemplo veremos como acceder al valor de un control de otro formulario que esté abierto.
Es necesario si necesitamos conocer el valor de algún campo o grid de las ventanas que tengamos abiertas.
Necesitamos conocer tanto el nombre del formulario como la librería de la que proviene.
Código ejemplo
Set lCol = gcn.obj.DameForms("Ahora<Libreria>")
For i=0 To lCol.count -1
' lCol(i).name nos devuelve el nombre del formulario
If lCol(i).name = "<Nombre Formulario>" Then
lUbic = lCol(i).Controls("<Nombre Control a Recuperar>").Text
Exit For
End If
Next
Set lCol = Nothing
Ejemplo. Refresco la grid de materiales del parte al cerrar el formulario de producción
Sub Initialize() gForm.Controls("Botonera").ActivarScripts = True End Sub Sub Botonera_BeforeExecute(aBotonera, aBoton, aCancel) If aboton.name = "botCerrar" Then gcn.obj.showmsgbox "Antes:" & aboton.name Set lCol = gcn.obj.DameForms("AhoraPartes") For i=0 To lCol.count -1 ' lCol(i).name nos devuelve el nombre del formulario If lCol(i).name = "frmParte" Then 'gcn.obj.showmsgbox lCol(i).Controls("Descrip").Text 'Devuelve el valor del campo Descrip del parte. 'GRID DE MATERIALES Set lGrid = lCol(i).Controls("grdLineasMat") If lGrid Is Nothing Then gcn.obj.showmsgbox "No existe" Else 'inserto linea por bbdd. lGrid.refrescar End If Exit For End If Next End If End Sub