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

[0] Índice de Mensajes

Ir a la versión completa