SourceTable: Obtener la tabla fuente de un campo en una consulta
PREGUNTA
¿Existe alguna forma de determinar la tabla fuente de un campo en una consulta, mirando el conjunto de registros? ¿Quizás a través de la colección de campos de conjuntos de registros?
Estoy trabajando en cambios en mi aplicación “Registro de auditoría simple” y descubrí que los controles que están vinculados a campos de tablas de búsqueda aparentemente no tienen una propiedad “OldValue”.
Mientras recorro los controles de un formulario, tratando de identificar qué cambios en los valores de control deben publicarse en el registro, aparece un error en estos campos que indica que no tienen una propiedad OldValue. Actualmente solo estoy manejando el error y resumiendo mi bucle, pero me pregunto si hay alguna manera de identificar la tabla fuente de un valor a través del conjunto de registros.
Entonces, en una consulta que se ve así:
SELECT a.ID, a.someValue, a.file_ID, b.Filename FROM tableA as A LEFT JOIN tableB as b on a.File_ID = b.File_ID
¿Hay alguna manera, a través del conjunto de registros, de identificar que [SomeValue] proviene de la tabla A y [Filename] proviene de la tabla B?
RESPUESTA
Esta respuesta ha sido dada por Happy.
Si he entendido bien la pregunta, lo que buscas se encuentra en la propiedad SourceTable de los campos de la consulta
Código
Dim qry As QueryDef
Dim Db As DAO.Database
Dim f As DAO.Field
Dim mySql As String
mySql = "SELECT a.ID, a.someValue, a.file_ID, b.Filename"
mySql = mySQl & " FROM tableA as A LEFT JOIN tableB as b on a.File_ID = b.File_ID"
Set Db = CurrentDb
Set qry = Db.QueryDefs(mySql)
For Each f In qry.Fields
Debug.Print f.Name, f.SourceTable
Next
Pregunta Sé cómo imprimir un informe mediante código y sé cómo hacer para que aparezca el cuadro de diálogo imprimir,…
Cómo conseguir en un informe calcular sólo el total para cada página