Programación General > Visual Basic 6.0 e inferiores
Varias Consultas Sobre Una Tabla Con Ado.
(1/1)
fgimenez:
hola, agradeciendo de antemano su ayuda.. mi problema es el siguiente... tengo una tabla de turnos y hago una consulta a esa tabla y me muestra todos los registros en un datagrid.. mi duda es como puedo hacer para realizar consultas (por fecha, por hora, por profesional) y que se actualice el datagrid según el criterio y no me muestre un msj que "el objeto requerido está aún abierto.."cuando hago una nueva consulta.. he probado quitando el refresh.. y nada... agradeceria mucho su ayuda.. gracias..
Aclaración: Uso ADO definido por código, la tabla turnos está en access 2000 y mi proyecto está en VB6(SP6).
9tnix:
hola fgimenez
lo resuelves simplemente con una consulta de este tipo
Select * from Tabla Where fecha=mifecha
Select * from Tabla Where hora=mihora
Select * from Tabla Where profesional=SI|NO (en caso se un campo boolean)
respecto a lo de
--- Citar ---"el objeto requerido está aún abierto.."
--- Fin de la cita ---
pues seguramente estas intentando abrir un recordset que ya esta abierto si lo quieres hacer asi pues primero debes cerrarlo para luego abrirlo sino simplemente has lo sgte:
Set MiRecordset = MiConexion.Execute("Select * from mitabla where....")
y tendras los datos en tu recordset.
Te sugiero que leas un poco la MSDN no está tan dificil lo que estas pidiendo
Att. zeekel
Angel38:
Hola fgimenez pues creo que al final de hacer todas las operacioenes, debes cerrar el recordset asi: recordset.close
Un ejemplo para que te guies utilizando dos campos de los que pediste.
sub command1_click()
datagrid.Col = 0
datagrid.Row = 0
datagrid.Text = "fecha"
datagrid.CellBackColor = &HE0E0E0
datagrid.Col = 1
datagrid.Text = "hora"
datagrid.CellBackColor = &HE0E0E0
datagrid.Col = 0
Set conexion = New ADODB.Connection
Set registro = New ADODB.Recordset
conexion.Open "Mi base de datos"
SQL = "select fecha, hora from Tabla"
registro.Open SQL, conexion
i = 1
Do While Not registro.EOF
datagrid.Col = 0
datagrid.Row = 0
datagrid.Text = "fecha"
datagrid.CellBackColor = &HE0E0E0
datagrid.Col = 1
datagrid.Text = "hora"
datagrid.CellBackColor = &HE0E0E0
datagrid.Col = 0
datagrid.Rows = i
texto = registro!fecha + Chr(9) + registro!hora + Chr(9)
datagrid.AddItem texto, i
registro.MoveNext
i = i + 1
Loop
conexion.close
registro.close
end sub
Espero que entiendas y que te sirva para lo que quieres, no dudes en pedir alguna explicacion sobre el codigo.
Navegación
Ir a la versión completa