DBGRID VB6 y ODBC
Buenas tardes a todos.
estoy teniendo un propblemilla con el DBGRID no he podido asignarle unos datos que tengo en un RecordSet
el codigo que tengo es el siguiente
Public Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Con.Open "DSN=DatosGDB"
Set Rst = Con.Execute("Select * From Empleado")
Set DataGrid1.DataSource = Rst
El Error que me saca es el siguiente
El Conjunto de filas no admite marcadores
que puedo hacer
estoy teniendo un propblemilla con el DBGRID no he podido asignarle unos datos que tengo en un RecordSet
el codigo que tengo es el siguiente
Public Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Con.Open "DSN=DatosGDB"
Set Rst = Con.Execute("Select * From Empleado")
Set DataGrid1.DataSource = Rst
El Error que me saca es el siguiente
El Conjunto de filas no admite marcadores
que puedo hacer
El problema es que no estás usando un cursor en la consulta, por defecto es ForwardOnly y las Grillas requieren cursores navegables.
Fijate este cambio
Public Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Con.Open "DSN=DatosGDB"
Rst.CursorLOcation = AdUseClient
Rst.Open "Select * From Empleado",Con,AdOpenStatic
Set DataGrid1.DataSource = Rst
Rst debe ser General del formulario, ya que si lo declaras a nivel subrutina se descarga de memoria al finalizar la ejecución de la Sub.
Una cosa, para evitar estos problemas, utiliza el método Execute solo para transaciones de datos.
Saludos
Fijate este cambio
Public Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Con.Open "DSN=DatosGDB"
Rst.CursorLOcation = AdUseClient
Rst.Open "Select * From Empleado",Con,AdOpenStatic
Set DataGrid1.DataSource = Rst
Rst debe ser General del formulario, ya que si lo declaras a nivel subrutina se descarga de memoria al finalizar la ejecución de la Sub.
Una cosa, para evitar estos problemas, utiliza el método Execute solo para transaciones de datos.
Saludos
