datagrid + bases de datos

ezequiel
10 de Agosto del 2004
Hola que tal quisiera saber si alguien es tan amable de mostrarme como abrir una base
de datos que tenga con un recordset tipo tabla y que se puedan visualizar los datos de la tabla
en un datagrid
porque probe con lo siguiente y no me funciono
dim ws as workspace
dim database as database
dim tbstock as recordset

private Sub Form_load()
set ws = DBengine.workspaces (0)

set database = ws.opendatabase("productos.mdb")
set tbstock= database.openrecordset ("stock", dbOpendatable)

Por favor no olviden de indicarme si debo agregar algo en el menu "referencias"
Y acuerdensen que dije datagrid no dbgrid muchas gracias

krizall
10 de Agosto del 2004
hola, aqui te mando este codigo espero te sirva

en un modulo .bas

'---------------------------------------------------------------------------------------
' Modulo : ModBd
' Fecha-Hora : 28/07/2004 19:01
' Autor : Basilio Hernández Castillo
' Veracruz , Mexico
' Comentarios : Modulo para manejar una bd access 2000
' Referencias: Microsoft acitivex data ojects 2.1 o superior
'---------------------------------------------------------------------------------------

Option Explicit
Public Conn As ADODB.Connection
Public rs As ADODB.Recordset

Public Sub AbrirConn(ByVal Ruta As String, ByVal Pwd As String)
'procedimiento que habre una base de datos con password
On Error GoTo ERRHANDLER
Set Conn = New ADODB.Connection
Conn.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"data source=" & Ruta & ";persist security info=false;jet oledb:database password=" & Pwd
'si la base de datos no tiene clave quitar lo que sigue de "Info=false"
'tambien quitar Byval pwd as string
Conn.Open
Exit Sub

ERRHANDLER:
MsgBox "Unexpected error in procedure: AbrirConn" & vbCrLf & _
"Error #" & Err.Number & ": " & Err.Description, _
vbCritical + vbOKOnly, App.Title
Err.Clear
End Sub
Public Sub ConsultarRs(ByVal sSql As String)
'procedimiento que hace las transacciones con la base de datos
On Error GoTo ERRHANDLER
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open sSql, Conn, adOpenStatic, adLockOptimistic
Exit Sub

ERRHANDLER:
MsgBox "Unexpected error in procedure: ConsultarRs" & vbCrLf & _
"Error #" & Err.Number & ": " & Err.Description, _
vbCritical + vbOKOnly, App.Title
Err.Clear
End Sub
Public Sub CerrarRsConn()
'procedimiento que cierra el reocordset y la conexion
On Error Resume Next
If rs.State = 1 Then
rs.Close
End If
If Conn.State = 1 Then
Conn.Close
End If
Set rs = Nothing
Set Conn = Nothing
Err.Clear
End Sub

la forma en como se llama es la siguiente:

en un form

command1_click()
abrirconn rutabd,password
consultarrs("select * from tabla") por ejemplo
if not rs.eof then
set datagrid.datasource = rs
end if
cerrarrsconn

lo de agregar al datadrig no estoy muy seguro si es asi

bueno, el codigo del modulo lo he utilizado como estandar para mis aplicaciones, puedes modificarlo como gustes.

espero te sirva, por lo menos con este modulo solo tienes que aprender a manejar sql con vb, cosa que no es dificil... suerte