La Web del Programador: Comunidad de Programadores
 
    Pregunta:  18435 - ENLAZAR DATAGRID CON ADO
Autor:  Marcelo Villena
Hola amigos

Estoy haciendo un trabajo y necesito con urgencia si alguien me puede orientar como enlazar el control DATAGRID con un recordset de ADO. No se lo que estoy haciendo mal lo ,que probe fue lo siguiente:

' La conexion se llama cn y ya esta abierta

dim reg as recordset

set reg = new recordset
reg.open "select * from clientes", cn, adOpenDynamic, adLockReadOnly

set datagrid1.datasource = reg

datagrid1.refresh

'lo ejecuto y no pasa nada y me da el error de que la clase no admite este tipo de automatizacion

Cualquier pista para orientarme desde ya agradecido.

  Respuesta:  David Martínez González
A mi me funciona con este codigo, espero que te sirva.

Proyecto ->Referencias
-----------------
Añadir estas 2

Microsoft ADO Ext. 2.6 for DDL and Security
Microsoft ActiveX Data Objects 2.5 Library

---------------------------------------------------------------------------
'General Declaraciones
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset

Private Sub Form_Load()
'Si añadimos un dataenvironment y lo enlazamos
'la propiedad Connectionsource la copiamos y la pegamos aqui.
Cn.ConnectionString = "Provider=MSDASQL.1;Password=1111;Persist Security Info=True;User ID=david;Data Source=jjodbc"

'Esto por si no podemos conectar con el servidor
On Error Resume Next
Cn.Open
If Err Then MsgBox "Imposible conectar con el Servidor", vbCritical, "Error de conexion"

'Lo enlazamos a la conexion Cn para asi poder manipular
'sus datos
Rs.ActiveConnection = Cn ' Esta linea nos la podemos ahorrar
'escribiendo cn como esta en la linea de abajo
'Rs.Open "select * from emp",cn , adOpenDynamic, adLockOptimistic

'Abrimos el Recordset y ponemos la consulta
Rs.Open "select * from datos_almacen", , adOpenKeyset, adLockOptimistic
Set DataGrid1.DataSource = Rs

End Sub