Formulario de Mantenimiento

En un mismo formulario de mantenimiento, generamos dos grids, uno en cada pestaña. Uno de los grids se filtra automáticamente con el contenido del primero.

Útil cuando necesitamos mantener datos en 2 tablas vinculadas.
La propiedad del campo "TAG" es la que establece el vínculo entre los diferentes grids. El campo clave debe llamarse igual en ambos grids.

 

Ver código ejemplo


Sub main()
Dim lfrm
Set lfrm = ceesi_apoyo.getformbyname("FRMMANTENIMIENTOS")
lfrm.form.panCaption.AccionarSeguridad

With lFrm.Grid("Datos Scripts")

      If Not .Preparada Then 
          .Agregar =True
          .Editar = True
          .Eliminar = True
          .CargaObjetos = False
          .EditarPorObjeto = False

          .AgregaColumna "IdCliente", 1500, "IdCliente", , "SELECT IdCliente, Cliente FROM Clientes_Datos ", True
          .AgregaColumna "@Cliente", 3000, "Cliente"
          .Campo("@Cliente").Sustitucion = "SELECT TOP 1 cliente FROM clientes_datos WHERE IdCliente=@IdCliente"
          .Campo("@Cliente").Column.AllowFocus = False
          .AgregaColumna "IdEmpleado", 500, "IdEmpleado", , "SELECT IdEmpleado,IdEmpleado,Nombre + ','+ Apellidos as Empleado FROM Empleados_Datos ", True
          .AgregaColumna "@Nombre", 2000, "Nombre"
          .Campo("@Nombre").Sustitucion = "SELECT TOP 1 Nombre + ','+ Apellidos as Empleado FROM Empleados_Datos WHERE IdEmpleado=@IdEmpleado"
          .Campo("@Nombre").Column.AllowFocus = False
          .AgregaColumna "Analisis", 2000, "Analisis"
          .AgregaColumna "Descrip", 5000, "Descrip"
          .AgregaColumna "FechaModif", 1000, "Fecha Modif",,,,"dd/mm/yyyy"
          .AgregaColumna "IdEjemplo", 200, "IdEjemplo", True
          .Campo("IdEjemplo").Tag = "IdEjemplo"
          .Campo("IdEjemplo").Column.AllowFocus = False

         .From = "Ceesi_Clientes_programacion"
         .Orden = "IdDoc"
         .Refresca = True
     End If

End With

With lFrm.Grid("Scripts")
       If Not .Preparada Then
             .Agregar = True
             .Editar = True
             .Eliminar = True
             .CargaObjetos = False
             .EditarPorObjeto = False

             .AgregaColumna "IdEjemplo", 0, "IdEjemplo"
             .AgregaColumna "Objeto", 1500, "Objeto", , "SELECT Objeto, DEscrip FROM Objetos ", True
             .AgregaColumna "Formulario", 4000, "Formulario"
             .AgregaColumna "Script", 750, "Script"
             .Campo("IdEjemplo").Tag = "IdEjemplo"

       .From = "CEESI_clientes_Programacion_scripts"

              .Orden = "IdDOc"
              .Refresca = True
End If
End With
           lFrm.EnlaceGrid("Scripts") = "Datos Scripts"
           lFrm.MuestraFiltro("Datos Scripts") = True
          'lFrm.MuestraFiltro("Scripts") = True
           lfrm.form.Width=15000
           lfrm.form.Height=10000
           lfrm.form.left=200
           lfrm.form.top=100
           lFrm.Carga

Set lFrm = Nothing
frmAux.Descargar
End Sub


Autor: Daniel Ernesto Lutz Llano