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


Autor: Pablo Céspedes