Inspeccione la fuente de control de todos los controles en su proyecto

Estuve trabajando en un proyecto donde estaba implementando el desove de formularios para que mi cliente pueda ver al menos dos registros diferentes usando dos formularios idénticos, uno de los formularios reales y el otro una versión generada de sí mismo (un tema que he discutido en mis reuniones de SQL Server con Access, haga clic para unirse a la lista de anuncios). Debido a que el desarrollador anterior no utilizó el spawning de formularios, tuve que buscar todas las instancias en el origen de control de todos los formularios para identificar referencias al formulario original y reemplazarlo con TempVars.

El proyecto tiene docenas de formularios y miles de controles, así que creé el siguiente código para escanear todas las fuentes de registros de formularios para la fuente de la fila infractora y también la fuente de control de todos los controles en el formulario.

Public Sub ScanForms()
On Error Resume Next
Dim obj As AccessObject, dbs As Object
Dim ctrl As Control
Dim strRowsource As String
 
Set dbs = Application.CurrentProject
 
For Each obj In dbs.AllForms
 'Debug.Print "Working on: " & obj.Name
 DoCmd.OpenForm obj.Name, acDesign
 strRowsource = Forms(obj.Name).RecordSource
 If Err.Number Then
    strRowsource = vbNullString
 End If
 If Len(strRowsource) Then
    If InStr(1, strRowsource, "frmPatientProcessing") > 0 Then
       Debug.Print "Form: " & obj.Name
    End If
 End If
 For Each ctrl In Forms(obj.Name).Controls
     On Error Resume Next
     strRowsource = ctrl.ControlSource
     If Err.Number Then
        strRowsource = vbNullString
     End If
     On Error GoTo 0
     If Len(strRowsource) Then
        If InStr(1, strRowsource, "frmPatientProcessing") > 0 Then
            Debug.Print "Form: " & obj.Name & " Control:" & ctrl.Name
        End If
     End If
 Next ctrl
 DoCmd.Close acForm, obj.Name
Next obj
End Sub

 

 

Publicado en Uncategorized

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

 

Quienes Somos

ExpertosMicrosoftAccess.com es un servicio de la empresa IT Impact, Inc., una compañía de programación y servicios para empresas en Latino América. Ofrecemos servicios en .Net, SQL Server y Microsoft Access. Muchos de nuestros desarrolladores han obtenido el galardón de Access MVP, un título proveído por Microsoft a aquellos que han hecho aportes a la comunidad y que han demostrado tener conocimientos superiores del producto.

Nuestro Equipo

  • Le ayudamos a "Descubrir el poder de sus datos™" con reportes y sistemas de Access excepcionales .
  • Creamos soluciones de bases de datos personalizadas utilizando Microsoft Access y / o SQL Server.
  • Nuestros consultores ganaron sus estrellas en las empresas de servicios y/o manufactura antes de convertirse en programadores.

Blogs anteriores