me gustaria saber si me podrias ayudar con un problema que tengo con visual basic. necesito saber los nombres de los campos de una tabla que yo elijo la base de datos aleatoria
te agradeceria que me contestaras lo mas rapido posible
gracias


RESPONDE BÚHO
=============

Una de las muchas formas que hay:

'Para la base de datos actual
Function DameCamposI()
 Dim RstTabla As Recordset
 Set RstTabla = CurrentDb.OpenRecordset("Clientes", dbOpenTable,dbForwardOnly)
  For Each fldSrc In RstTabla.Fields
   MsgBox fldSrc.Name
  Next
End Function

Otra forma:

Function DameCamposII()
    Dim db As Database
    Dim td As TableDef

    Set db = OpenDatabase(CurrentDb.Name)
    Set td = db.TableDefs("Clientes")
    For Each fldSrc In td.Fields
     MsgBox fldSrc.Name
    Next
    ' Número de campos
    MsgBox td.Fields.Count

End Function



Esto lo puedes complicar cuanto quieras, pasando como parametros, la ruta
completa de la MDB, el nombre de la tabla etc etc
En este sentido, la funcion definitiva que buscas es:

Function DameCamposIII(RutaDb As String, TablaDb As String)
   Dim db As Database
   Dim td As TableDef

   Set db = OpenDatabase(RutaDb)
    Set td = db.TableDefs(TablaDb)
    For Each fldSrc In td.Fields
     MsgBox fldSrc.Name
    Next
    ' Número de campos
    MsgBox td.Fields.Count
End Function

Activa en el editor de VBA de Access la referencia a DAO

Ha sido un placer contestarte, pero te rogaría que este tipo de preguntas
las expusieras en el Foro de Access correspondiente.

Paco.-

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)