Problema con el datagrid
No me carga los datos del recordset en el data grid. He probado de todo, cambiar mi consulta SQL, y aun así no consigo mostrar los datos. Ahì esta comentada una query y la otra es la ultima que uso, Alguien me podria ayudar este es mi codigo
Private Sub Form_Load()
'variable de objeto para la conexión
Dim cnIdioma As Connection
Set cnIdioma = New Connection
'Abro la conexion, indico el proveedor de datos y
'le indico mi el path de la DB
cnIdioma.Open "Provider=MSDATASHAPE; DATA PROVIDER=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=N:AGENDA-LEDAGENDALED.mdb"
'Asigno el recordset
Set rsIdioma = New Recordset
'Defino my variable de consulta
Dim SQLIdioma As String
'Le pido que mi devuelva: Idioma, si habla, si lee
'si escribe, desde la tabla Idiomas, sólo si
'idfun (que es variable global) es igual a
'id funcionario. En otra palabras, desde frmfuncio
'se asigna el valor del IdFuncionario actual, comparo
'ese valor con los IdFuncionarios que existan en la
'tabla Idiomas, si hay me los carga en RsIdioma
SQLIdioma = "SELECT Idioma, Habla, Escribe, Lee "
SQLIdioma = SQLIdioma & "FROM Idiomas WHERE "
SQLIdioma = SQLIdioma & idfun & " = IdFuncionario"
'SQLIdioma = "SHAPE {select idFuncionario from Funcionario} AS ParentCMD APPEND ({select Escribe,Habla,IdFuncionario,IdIdioma,Idioma,Lee from Idiomas } AS ChildCMD RELATE idFuncionario TO IdFuncionario) AS ChildCMD"
'abro el recordset, con un cursor dinámico, y un
'tipo de bloqueo optimista, bloquea registros sólo
'cuando se llama al método Update.
rsIdioma.Open SQLIdioma, cnIdioma, adOpenDynamic, adLockOptimistic
'lleno el data grid con los datos
Set grdIdiomas.DataSource = rsIdioma
'Evitamos que se modifiquen las celdas
grdIdiomas.EditActive = False
grdIdiomas.CurrentCellModified = False
'Ubico el formulario
Me.Width = 6945
Me.Height = 6150
Me.Move (mdiLED.Width - frmIdiomas.Width) / 2, 200 '(mdiLED.Height - frmIdiomas.Height) / 2
'Text1.DataField = rsIdioma.Fields("IDioma")
'muestro la primera pestaña, con los datos recabados
SSTab1.Tab = 0
'en el caption del data grid y en el label pongo
'el nombre del funcionario
lblfuncionario = FUN
grdIdiomas.Caption = "Idiomas que maneja " & FUN
End Sub
Private Sub Form_Load()
'variable de objeto para la conexión
Dim cnIdioma As Connection
Set cnIdioma = New Connection
'Abro la conexion, indico el proveedor de datos y
'le indico mi el path de la DB
cnIdioma.Open "Provider=MSDATASHAPE; DATA PROVIDER=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=N:AGENDA-LEDAGENDALED.mdb"
'Asigno el recordset
Set rsIdioma = New Recordset
'Defino my variable de consulta
Dim SQLIdioma As String
'Le pido que mi devuelva: Idioma, si habla, si lee
'si escribe, desde la tabla Idiomas, sólo si
'idfun (que es variable global) es igual a
'id funcionario. En otra palabras, desde frmfuncio
'se asigna el valor del IdFuncionario actual, comparo
'ese valor con los IdFuncionarios que existan en la
'tabla Idiomas, si hay me los carga en RsIdioma
SQLIdioma = "SELECT Idioma, Habla, Escribe, Lee "
SQLIdioma = SQLIdioma & "FROM Idiomas WHERE "
SQLIdioma = SQLIdioma & idfun & " = IdFuncionario"
'SQLIdioma = "SHAPE {select idFuncionario from Funcionario} AS ParentCMD APPEND ({select Escribe,Habla,IdFuncionario,IdIdioma,Idioma,Lee from Idiomas } AS ChildCMD RELATE idFuncionario TO IdFuncionario) AS ChildCMD"
'abro el recordset, con un cursor dinámico, y un
'tipo de bloqueo optimista, bloquea registros sólo
'cuando se llama al método Update.
rsIdioma.Open SQLIdioma, cnIdioma, adOpenDynamic, adLockOptimistic
'lleno el data grid con los datos
Set grdIdiomas.DataSource = rsIdioma
'Evitamos que se modifiquen las celdas
grdIdiomas.EditActive = False
grdIdiomas.CurrentCellModified = False
'Ubico el formulario
Me.Width = 6945
Me.Height = 6150
Me.Move (mdiLED.Width - frmIdiomas.Width) / 2, 200 '(mdiLED.Height - frmIdiomas.Height) / 2
'Text1.DataField = rsIdioma.Fields("IDioma")
'muestro la primera pestaña, con los datos recabados
SSTab1.Tab = 0
'en el caption del data grid y en el label pongo
'el nombre del funcionario
lblfuncionario = FUN
grdIdiomas.Caption = "Idiomas que maneja " & FUN
End Sub