Duda de Combobox + Grilla!

Hola! Que tal!
Mi duda es la siguiente, tengo una aplicación que registra Alumnos y Cursos, en un Form necesito tener un Combobox que permita seleccionar los cursos existentes en la Bd, lo que sé como hacer, pero que al elegir tal Curso, en una Grilla se muestren los Alumnos que pertenecen a el curso seleccionado con sus respectivos datos!.
Muchas gracias desde ya!

1 Respuesta

Respuesta
1
Pues te recomiendo utilizar sentencias SQL, de la siguiente forma:
'para conectarte a tu BD
Dim Cnx As New ADODB.Connection
Cnx.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\miBD.mdb"
'para recuperar informacion de tu BD puedes usar esta funcion y "mandarla llamar" cuando la necesites
Public Function GetRecordset(sSQL As String) As ADODB.Recordset
    Dim Rst As New ADODB.Recordset
    On Error Resume Next
    Rst.Open sSQL, Cnx, adOpenStatic, adLockPessimistic, adAsyncFetch
    Set GetRecordset = Rst
    If Err.Number <> 0 Then
        Set GetRecordset = Null
        MsgBox "Hubo un error al recuperar los registros" & vbNewLine & _
        Err.Description, vbCritical, "Error"
    End If
End Function

Vamos a los detalles:
'enlistar en un ComboBox los cursos existentes:
Private Sub LlenarCombo()
    Dim Rst As Recordset
    Dim i As Integer

    Set Rst = GetRecordset("SELECT Curso FROM Cursos")
    If Rst.RecordCount > 0 Then
        For i = 1 To Rst.RecordCount
            Combo1.AddItem Rst(0).Value
            Rst.MoveNext
        Next
    Combo1.Text = Combo1.List(0)
End Sub

'Mostrar los alumnos que pertenecen al curso seleccionado
Private Sub Combo1_Click()
    Dim Rst As Recordset
    Dim i As Integer
        Set Rst = GetRecordset("SELECT
Alumno FROM Alumnos WHERE Curso = " & Combo1.Text &"")
        If Rst.RecordCount >0 Then
            For i = 1 To Rst.RecordCount
                MSFlexgrid.AddItem Rst(0).Value
                Rst.MoveNext
            Next i
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas