Llenar el datacombo

Tengo un problema con el datacombo, no se llena con los datos que elijo, Te paso mis códigos, haber si me das una mano..
Private Sub Form_Load()
'ABRIR TABLA INFORMES
abrir_informes
llenar_campos
'ABRIR TABLA ALUMNOS
abrir_alumnos
DataCombo1.ListField = "alumno"
Set DataCombo1.RowSource = rsalumnos
'VUELVO A ABRIR LA TABLA INFO
Set rsinfo = New ADODB.Recordset
rsinfo.CursorLocation = adUseClient
sqlinfo = "select * from informes"
rsinfo.Open sqlinfo, cnn, adOpenDynamic, adLockOptimistic
End Sub
Public Sub llenar_campos()
If rsinfo.BOF Then Exit Sub
If rsinfo.EOF Then Exit Sub
cbohs(0).Text = rsinfo.Fields("hora1")
cbohs(1).Text = rsinfo.Fields("hora2")
cbodias(0).Text = rsinfo.Fields("dia1")
cbodias(1).Text = rsinfo.Fields("dia2")
cbomatri.Text = rsinfo.Fields("matricula")
cbomeses(0).Text = rsinfo.Fields("inicio")
cbomeses(1).Text = rsinfo.Fields("pago")
cboinstrumento.Text = rsinfo.Fields("instrumento")
Text1.Text = rsinfo.Fields("dia de pago")
DataCombo1.Text = rsinfo.Fields("alumno2")
End Sub
Private Sub DataCombo1_change()
rsalumnos.MoveFirst
alumno = DataCombo1.Text
sqlalumnos = "select alumno * from alumnos"
DataCombo1.RowSource sqlalumnos
rsalumnos.Find "alumno='" & Trim(DataCombo1.Text) & "'"
If rsalumnos.EOF Then
Else
End If
End Sub
**********************************************************
CÓDIGO DEL MODULO
Global cnn As ADODB.Connection
Global rsalumnos As ADODB.Recordset
Global rsinfo As ADODB.Recordset
Global sqlalumnos As String
Global sqlinfo As String
Public Sub conectar()
Set cnn = New ADODB.Connection 'DEFINO EL OBJETO
cnn.Provider = "microsoft.jet.oledb.4.0"
cnn.ConnectionString = "C:\Documents and Settings\Admin\Escritorio\clases2\clases2.mdb"
cnn.Open
End Sub
Public Sub abrir_alumnos()
Set rsalumnos = New ADODB.Recordset 'DEFINO EL OBJETO RECORSET
'ABRO LA TABLA ALUMNOS
sqlalumnos = "select *from alumnos"
rsalumnos.Open sqlalumnos, cnn, adOpenDynamic, adLockOptimistic
End Sub
Public Sub abrir_informes()
Set rsinfo = New ADODB.Recordset 'DEFINO EL OBJETO RECORDSET
'ABRO LA TABLA
sqlinfo = "select * from informes"
rsinfo.Open sqlinfo, cnn, adOpenDynamic, adLockOptimistic
End Sub
***********************************************************************
Las tablas son :
ALUMNOS(Alumno, domicilio, teléfono, movile, email)
INFORMES(Alumno2, matricula, instrumento, dia1, dia2, hora1, hora2, pago, inicio, dia de pago)
Desde ya te agradezco la ayuda([email protected])

1 respuesta

Respuesta
1
Me parece que te falta la propiedad DataSource del DataCombo(DTC) mira te explico las propiedades del mismo y luego tu las implementas
Productos Categoría
IdPro IdCat
Nombre DescripcionCat
Precio
IdCat
Asumiremos que ahcemos un mantenimiento a la tabla Productos.
Ahí en productos vemos un IdCat el cual viene de la tabla Categoría, entonces ese campo tenemos que trabajarlo con DataCombo
Propiedades del DATACOMBO
1 - DataSource Origen de Datos de la tabla a quien se le hace el Mantenimiento (Productos)
2 - DataField Campo de la tabla a quien se hace el mantenimiento (Productos)
=====Esos 2 primeros son propiedades de lectura y escritura
3 - RowSource Origen de datos de la tabla de donde se extraerán los datos (Categoría)
4 - ListField Campo que te listara en el DTC cuando le dees click, previamente extraído de la tabla Categoría
5 - BoundColumn Campo extraído de la tabla Categoría, que siempre es la clave primaria de la misma.
=====Estos 3 son solo de lectura
Ahora te explico muchos de ustedes tienen esa mala costumbre de guardar mal sus datos, una tabla debe de quedar de la forma que la ise arriba, no trabajas con claves primarias ni foráneas ni nada, es lo primero deben investigar como hacer bases de datos..
Pero bueno esas son las 5 propiedad principales de un DataCombo(DTC), ahora supongo que no por lo que te digo cambiaras todo tu proyecto, bueno si no lo haces, entonces emite la propiedad 5 y centrate en las 4 primeras, creo que te falta la principal la 1
Bueno completando tu ejemplo, mira tu base deberías hacerla de esta forma
Alumnos Informes
IdAlumno IdInforme
Nombres IdAlumno
Apellidos Matricula
Domicilio Instrumento
Teléfono Dia1
Móvil .
Email .
Alumno
Tiene su clave primeria IdAlumno
Informes
IdInformes es su clave primaria
IdAlumno es Calve Foranea (extraida de idalumno de la tabla alumno)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas