Llenar un DataGrid sin usar el Adodc

En un formulario tengo un control DataGrid para que al ejecutarse la aplicación me muestre un conjunto de registros. Al control ADODC no lo utilizo, realizo la conexión a la BD mediante código de programa. Bueno, resulta que cuando ejecuto la aplicación me da un error apareciendo el siguiente mensaje: "El conjunto de filas no admite marcadores". ¿Qué significa esto?
Bueno... Acá les paso el código de la aplicación para ver en dónde la estoy errando:
Private cnn As New ADODB.Connection
Private rs As New ADODB.Recordset
Private Sub Form_Load()
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\...\Base.mdb"
rs.Open "SELECT * FROM Tabla", cnn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
End Sub
Cuando depuro la aplicación me marca con amarillo la instrucción Set DataGrid1. DataSource = rs
Bueno...

1 Respuesta

Respuesta
1
Lo que ocurre es que con el datagrid se usa ado. Ese es el problema, no hay muchas vueltas que darle.
Lo estuve intentando mucho tiempo hasta que me dijeron esto. Sino todavía estaba intentando.
Por si lo necesitas te paso un par de procedimientos para crear el ado por código. Espero que te sirvan.
Public BDado As New ADODB.Connection
Public rsADO As New ADODB.Recordset
Public Sub AbrirAdo()
If BDado.State = adStateclose Then
With BDado
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Access\FichasPacientes.mdb"
.CursorLocation = adUseClient
End With
Else
MsgBox "ya esta abierto"
End If
End Sub
Public Sub CerrarAdo()
BDado.Close
End Sub
Public Sub ConectarAdo(mSQL As String, adoType As CursorTypeEnum)
MsgBox "rsADO.State = adStateClosed - " & adStateClosed
rsADO.CursorLocation = adUseClient
rsADO.Open mSQL, BDado, adoType, adLockOptimistic
'para ver los adotype reescribe la coma adelante del adotype en la sentencia open
End Sub
Public Sub DesconectarAdo()
rsADO.Close
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas