Hola quisiera que me ayuden por favor a este problemita que tengo necesito crear un formulario que me permita visualizar y actualizar datos de cualquier tabla de Access, es decir que me aparezcan tantos etiquetas, cajas de texto como campos tenga la tabla,, ademas en donde he configurado que en access me salgan cuadros combinados cunado selecciono un campo por ejemplo... El campo país .. M e sale una lista de los datos de la tabla países.. También suceda lo mismo en este formulario... Por favor ayúdenme Gracias
He leído tu inquietud, con respecto a actualizar una tabla de access con sus respectivos campos y pasarlos en un formulario en Vb no es complicado, sólo necesitas agregar controles array, lo que sí necesito saber es que tipo de conexión usas Dao, Ado, Rdo, etc, mandame el código de conexión y te envió la solución a tu problema...
Ok.. amigo estoy utilizando ADO...
Bueno te mando un pequeño ejemplo de como obtener información de una base de datos Access, los pasos a seguir son: Crea un nuevo proyecto, hacé referencia a Dao en el menú Proyecto/referencias, luego en el formulario insertá 2 controles Label, 1 ListBox y un ComboBox, al Label1 ponele la propiedad index en cero, y para el Label2 la propiedad AutoSize en True, espero que te sirva y como consejo utilizá Ado no Dao, bueno no he hecho el tratamiento de errores por falta de tiempo, bueno suerte y saludos... 'Label1 - propiedad de Index en 0 'Label2 - Propiedad AutoSize = True 'List1 'Combo1 Dim Bd As Database Dim Rs As Recordset Dim CampoLleno As Boolean Dim MoverMouse As Integer Const Negro As Long = &H80000012 Const Rojo As Long = &HFF& Private Sub Form_Load() MoverMouse = -1 Set Bd = OpenDatabase("C:\Programas\Mercuri\BaseMsrl.mdb") ObtenerNombresTablasBd End Sub Sub ObtenerNombresTablasBd() Dim i As Integer, Num As Integer Num = 0 For i = 0 To Bd.TableDefs.Count - 1 If Bd.TableDefs(i).Name Like "MSys*" Then GoTo Saltar List1.AddItem Trim(Bd.TableDefs(i).Name) Num = Num + 1 Saltar: Next i Label2 = "Base: " & Bd.Name & _ " - Cantidad de tablas: " & Num & "." End Sub Sub ObtenerNombresCamposTablaBd(Campo As String) If CampoLleno = True Then DescargarCampo Dim i As Integer Set Rs = Bd.OpenRecordset(Campo) For i = 0 To Rs.Fields.Count - 1 If i = 0 Then GoTo aca Load Label1(i) Label1(i).Top = Label1(i - 1).Top + Label1(i).Height Label1(i).Caption = Trim(Rs.Fields(i).Name) Label1(i).Visible = True aca: Label1(i).Caption = Trim(Rs.Fields(i).Name) Label1(i).ForeColor = Negro Next i Me.Caption = Me.Caption & " Cant. de campos: " & Rs.Fields.Count CampoLleno = True Set Rs = Nothing End Sub Sub DescargarCampo() Dim i As Integer For i = (Label1.lBound + 1) To Label1.uBound Unload Label1(i) Next i Label1(0).ForeColor = Negro MoverMouse = -1 CampoLleno = False End Sub Private Sub Form_Unload(Cancel As Integer) Set Rs = Nothing Bd.Close Set Bd = Nothing End End Sub Private Sub Label1_Click(Index As Integer) Dim SqlConsulta As String Combo1.Clear SqlConsulta = "Select distinct " & _ Trim(Label1(Index).Caption) & " From " & Trim(List1.Text) Set Rs = Bd.OpenRecordset(SqlConsulta) If Rs.RecordCount = 0 Then Exit Sub Rs.MoveFirst Do While Not Rs.EOF Combo1.AddItem Trim(Rs(0)) Rs.MoveNext Loop Set Rs = Nothing Combo1.ListIndex = 0 End Sub Private Sub Label1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If MoverMouse = -1 Then GoTo aca If MoverMouse = Index Then Exit Sub aca: Dim i As Integer For i = Label1.lBound To Label1.uBound Label1(i).ForeColor = Negro Next i MoverMouse = Index Label1(MoverMouse).ForeColor = Rojo End Sub Private Sub List1_Click() Me.Caption = "Utilizando Tabla: " & Trim(UCase((List1.Text))) ObtenerNombresCamposTablaBd (List1.Text) End Sub