Inicio ACCESS SourceTable: Obtener la tabla fuente de un campo en una consulta

SourceTable: Obtener la tabla fuente de un campo en una consulta

por juanjo@luna-soft.es

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

También te puede interesar

Deja un comentario

El Blog de Juanjo Luna
Todo sobre Access, Excel, Sharepoint, IA y tecnología en general

Este sitio web utiliza cookies para mejorar su experiencia. Suponemos que está de acuerdo, pero puede darse de baja si lo desea. Aceptar Leer más