hola que tal soy nuevo aqui en el foro, tengo un problema estoy haciendo un formulario en vba y este formulario lo conecto a una bd de access por medio de una variable workspace, pero tambien dentro del formulario tengo un combobox que quiero llenar con los datos de la bd, como le hago para llenar el combobox con los datos de la bd. aqui esta mi codigo:
Dim ws As Workspace
Dim dbgenc As Database
Dim tbGastos As Recordset
Dim dnGastos2 As Recordset
Dim flag As Integer
Private Sub ComboBox1_Click()
Do While Not dnGastos2.EOF
ComboBox1.AddItem dnGastos2.Fields("Gasto1")
ComboBox1.ListIndex = 0
dnGastos2.MoveNext
Loop
End Sub
Private Sub CommandButton1_Click()
If flag <> 0 Then
dnGastos2!Gasto1 = TextBox1.Text
dnGastos2!Gasto2 = TextBox2.Text
dnGastos2!Gasto3 = TextBox3.Text
dnGastos2!Gasto4 = TextBox4.Text
dnGastos2!Gasto5 = TextBox5.Text
dnGastos2.Update
dnGastos2.MoveFirst
End If
dnGastos2.MoveNext
'codigo de guardar, modificar y actualizar registros
If flag <> 0 Then
flag = 0
End If
If dnGastos2.EOF = True Then
dnGastos2.AddNew
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
flag = flag + 1
End If
If dnGastos2.BOF = False Then
CommandButton2.Enabled = True
End If
If dnGastos2.EOF = False Then
TextBox1.Text = dnGastos2!Gasto1
TextBox2.Text = dnGastos2!Gasto2
TextBox3.Text = dnGastos2!Gasto3
TextBox4.Text = dnGastos2!Gasto4
TextBox5.Text = dnGastos2!Gasto5
End If
End Sub
Private Sub CommandButton2_Click()
dnGastos2.MovePrevious
If dnGastos2.BOF = True Then
CommandButton2.Enabled = False
dnGastos2.MoveNext
End If
TextBox1.Text = dnGastos2!Gasto1
TextBox2.Text = dnGastos2!Gasto2
TextBox3.Text = dnGastos2!Gasto3
TextBox4.Text = dnGastos2!Gasto4
TextBox5.Text = dnGastos2!Gasto5
End Sub
Private Sub UserForm_Activate()
flag = 0
Set ws = DBEngine.Workspaces(0)
'Abre una DB de tipo Access con opciones predeterminadas de acceso a
'lectura/escritura de datos y acceso compartido:
Set dbgenc = ws.OpenDatabase("C:\bd.mdb")
'Abre una tabla de Access con los parámetros implícitos de uso compartido
'y modo de uso lectura/escritura:
Set tbGastos = dbgenc.OpenRecordset("gastos", dbOpenTable)
'Abre un dynaset que consta de todos los registros de la tabla Clientes:
Set dnGastos2 = dbgenc.OpenRecordset("SELECT * FROM gastos", dbOpenDynaset)
'Establecer el índice a usar e inicializar los datos en pantalla
MsgBox "Número total de registros = " & Str(tbGastos.RecordCount + 1)
'se mostraran los datos en los textbox correspondientes
TextBox1.Text = dnGastos2!Gasto1
TextBox2.Text = dnGastos2!Gasto2
TextBox3.Text = dnGastos2!Gasto3
TextBox4.Text = dnGastos2!Gasto4
TextBox5.Text = dnGastos2!Gasto5
End Sub
como pueden ver en la parte del combobox tengo un codigo pero no me funciona, no aparece nada en el combobox a la hora de ejecutar el formulario si alguien me podria ayudar se lo agradeceria MUCHISISISISISMO GRACIAS¡