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.-