Estoy intentando mostrar los resultados de una consulta a una base de datos
Access.
La ubicación del correspondiente fichero .mdb la desconozco en tiempo de
diseño.
Voy a modificar las condiciones de la consulta.
He utilizado un control ADODC llamado AdoQuery, y un control DataGrid
llamado DataGrid.
(Microsoft ADO Data Control 6.0 (OLEDB) y Microsoft DataGrid Control 6.0
(OLEDB))
En tiempo de diseño he ligado ambos controles con la propiedad DataSource
del DataGrid
Además el formulario cuenta con dos botones (Command1 y Command2) para
cambiar la consulta
El codigo del formulario es el siguiente:
'COMIENZA EL CODIGO
Option Explicit
Private Sub MostrarError()
Call MsgBox("Error: " & vbCrLf & Err.Description, _
vbExclamation, "Atención")
End Sub
Private Sub Command1_Click()
On Error GoTo Error
AdoQuery.CommandType = adCmdText
AdoQuery.RecordSource = "SELECT ID, NOMBRE, NUMERO FROM PUBLICACIONES"
AdoQuery.Refresh
Exit Sub
Error:
Call MostrarError
End Sub
Private Sub Command2_Click()
AdoQuery.CommandType = adCmdText
AdoQuery.RecordSource = "SELECT ID, NOMBRE, NUMERO FROM PUBLICACIONES
WHERE NUMERO = 27"
AdoQuery.Refresh
Exit Sub
Error:
Call MostrarError
End Sub
Private Sub Form_Load()
AdoQuery.ConnectionString = _
"Provider = Microsoft.Jet.OLEDB.3.51;" & _
"Persist Security Info = False;" & _
"Data source = D:\cd_pub.mdb;" & _
"Mode=Read"
End Sub
'TERMINA EL CODIGO
Cuando ejecuto el programa, pulso el primer botón, pulso el segundo, y en
ambos casos el
datagrid muestra los resultados. Sin embargo, cuando pulso otra vez el
primer botón
aparece el siguiente error :
Error en el método 'Refresh' del objeto '|Adodc'
Si conoces cómo cargar los datos del DataGrid por código, otro control,
o cualquier sugerencia que me pueda ayudar, te estaré muy agradecido.
Prueba haciendo referencia al propio objeto para realizar la consulta:
Prueba con lo siguiente:
me.adodc1.recordsource=sql
me.adodc1.commandtype=adcmdtext
me.adodc1.refresh
Nota: A mi me funciona bien de esta manera.
Saludos.
Joaquín Fernández <jfern...@crcit.es> escribió en el mensaje de noticias
39a4edae$1...@news.dit.upm.es...