• Domingo 22 de Diciembre de 2024, 17:50

Autor Tema:  Varias Consultas Sobre Una Tabla Con Ado.  (Leído 1412 veces)

fgimenez

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Varias Consultas Sobre Una Tabla Con Ado.
« en: Miércoles 8 de Febrero de 2006, 07:56 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Varias Consultas Sobre Una Tabla Con Ado.
« Respuesta #1 en: Miércoles 8 de Febrero de 2006, 15:07 »
0
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.."
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
TP-Systems
our knowledge is our power!

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Varias Consultas Sobre Una Tabla Con Ado.
« Respuesta #2 en: Miércoles 8 de Febrero de 2006, 18:34 »
0
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.
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.