| Usuario |
Sentencias SQL desde codigo VB |
Desconocido
|
| Enviado - 15/3/2003 |
| |
Hola a todos. Estoy haciendo una base de datos en Access y necesitaría saber como puedo lanzar sentencias SQL desde el código VBA de algún control. Me he estado mirando libros y no me han ayudado demasiado xq hablan mucho de objetos DATA (q yo no uso), y a mí lo q me interesaría sería embeber el código SQL en el de Visual si es posible. Tb algo he visto x ahí de objetos ADO (Access Data Object o algo así...), pero no tengo demasiada imformación al respecto. Cualquier tipo de cable q me podais echar...
Gracias |
| |
|
Mayron
1 Mensaje(s)
|
| Enviado - 18/3/2003 |
| |
Trabajar con sentencias SQL es muy facil en Visual Basic.
Primero tienes que trabajar con ADODB, esto lo activas en el menú Proyecto luego en referencias luego buscar y eliges Microsfot ActiveX Data Objet Library 2.5 o superior.
Tienes que crear variables de tipo conecion y de tipo recordset. Te voy a poner un ejemplo sencillo de conexion a una DB de Access.
option explicit
private cnn as adodb.connection
private rst as adodb.recordset
Private Sub Form_Load()
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
' Todo en una misma linea
cnn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= "c:\windows\abc.mdb""
' todo en una misma linea
rst.Open "select * from <tabla>", cnn, adOpenDynamic, adLockOptimistic
' todo en una misma linea
rec.Open "select * from software", cnn, adOpenDynamic, adLockOptimistic
End Sub
' Ahora ya puedes hacer cualquier consulta
' en cualquier boton que diseñes y lo haces
' así:
private sub command1_click()
'Consultar si existe el registro 1
' En una sola linea
set rst = cnn.execute("Select * from <tabla> where <condicion>")
if rst.bof or rst.eof then
msgbox "Registro no encontrado"
else
......
end if
end sub
' y nunca se te olvide en el Unload
private form_unload (cancel as integer)
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
end sub
' Espero que te ayude algo....
Att. Mayron Guevara
El Salvador
[email protected] |
| |
|
Desconocido
|
| Enviado - 29/3/2003 |
| |
| y como se puede hacer para imprimir el resultado de la busqueda sql mostrada en un dbgrid. mi problemas es que me imprime siempre la tabla completa y quiero ver como puedo hacer para imprimir en tiempo de ejecucion esa busqueda. attm. Jason B. |
| |
|
Desconocido
|
| Enviado - 24/9/2004 |
| |
| Facil, utiliza el Datareport, y ahi tu le das el formato que quieras, y si no quieres que aparezca la tabla pues con el datareport, es más facil o tambien con el Crystalreport. |
| |
|
|
|