Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

DataGrid con DAO

Estas en el tema de DataGrid con DAO en el foro de Visual Basic clásico en Foros del Web. Hola, espero alguien me pueda ayudar, tengo una conexion con DAO y quiero utilizar un datagrid, Así k en base a unos parametros hago la ...
  #1 (permalink)  
Antiguo 08/02/2007, 13:54
Avatar de OlaIsa  
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 5 meses
Puntos: 0
DataGrid con DAO

Hola, espero alguien me pueda ayudar, tengo una conexion con DAO y quiero utilizar un datagrid, Así k en base a unos parametros hago la consulta y es la que kiero deplegar en el data grid, pero sin usar el control data, solo con código.

Tengo

Código PHP:
set consultas base.OpenRecordset("SELECT No_Cont,Fecha_inicio, Fecha_fin,Nombre_Hon, Monto FROM Contratos WHERE No_Proy='" proy "'AND Año='" año_busq "'"dbOpenDynaset)

DataGrid1.recorSetconsulta 
Pero esto me marca error, dice k no coincide el tipo.

Pense en usar el MSHFlexGrid, pero me marca el mismo error.

Como puedo resolver esto.

Saludos
__________________
Se feliz!!!!!
  #2 (permalink)  
Antiguo 09/02/2007, 04:23
 
Fecha de Ingreso: noviembre-2004
Ubicación: Corrientes, Arg.
Mensajes: 129
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: DataGrid con DAO

No aclaras el tipo de la variables proy ni año_busq. Si son numéricas no llevan las comillas simples antes y después, si son String las llevan.
Hay otro par de errorcillos, que si el código lo pusiste con copiar y pegar deben estar mal en el código: "consultas" y "consulta", y "recorset" por "recordset". Claro que si lo copiaste a mano pueden ser errores de tipeo en el mensaje nada más.
  #3 (permalink)  
Antiguo 09/02/2007, 07:11
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: DataGrid con DAO

hola OlaISa

me parece que es mas que nada un error de funcionamiento, segun recuerdo en la version 5 de VB venia un componente que era el dbgrid y funcionaba perfecto con DAO, pero el de la version 6 funcionaba con ADO, tuve que instalar ambas versiones en los comienzos para trabajar con el 6 y mantener los sistemas echo con 5, puede que sea ese tu problema, intenta ocupando ADO para el recordset.
  #4 (permalink)  
Antiguo 09/02/2007, 14:27
Avatar de OlaIsa  
Fecha de Ingreso: diciembre-2005
Mensajes: 105
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: DataGrid con DAO

Okis...muchas gracias, no se pork comence todo el proyecto con DAO, pero bueno, puede implementar el MSFlexGrid con codigo y tambien funciona el dbGrid. Gracias a los 2!!!!

Saludos
__________________
Se feliz!!!!!
  #5 (permalink)  
Antiguo 09/02/2007, 14:35
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: DataGrid con DAO

ok entonces :D jajaja en todo caso y como consuelo, creo y tengo entendido que si vas a trabajar con access es mejor dao que ado xD.
  #6 (permalink)  
Antiguo 02/03/2007, 09:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: DataGrid con DAO

tienes un error
  #7 (permalink)  
Antiguo 02/03/2007, 09:28
 
Fecha de Ingreso: marzo-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: DataGrid con DAO

DataGrid1.recorSet= consulta tu error esta que no es recorsetg es RECORDset

ahy otro error pero eso te lo dejo a ti
  #8 (permalink)  
Antiguo 02/03/2007, 10:20
 
Fecha de Ingreso: octubre-2006
Ubicación: En la mitad del mundo
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: DataGrid con DAO

Cita:
Iniciado por OlaIsa Ver Mensaje
Hola, espero alguien me pueda ayudar, tengo una conexion con DAO y quiero utilizar un datagrid, Así k en base a unos parametros hago la consulta y es la que kiero deplegar en el data grid, pero sin usar el control data, solo con código.

Tengo

Código PHP:
set consultas base.OpenRecordset("SELECT No_Cont,Fecha_inicio, Fecha_fin,Nombre_Hon, Monto FROM Contratos WHERE No_Proy='" proy "'AND Año='" año_busq "'"dbOpenDynaset)

DataGrid1.recorSetconsulta 
Pero esto me marca error, dice k no coincide el tipo.

Pense en usar el MSHFlexGrid, pero me marca el mismo error.

Como puedo resolver esto.

Saludos
  #9 (permalink)  
Antiguo 02/03/2007, 10:30
 
Fecha de Ingreso: octubre-2006
Ubicación: En la mitad del mundo
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: DataGrid con DAO

Lamento decir que todos estan equivocados. El DataGrid no tiene una propiedad Recordset, sino DataSource.

Lo correcto es:

Dim Registro as Recordset
Set Registro = BaseDatos.OpenRecordset("SELECT * FROM TABLA")
Set DatRegistro.Recordset = Registro
DdGrid1.DataSource = DatRegistro

en donde DatRegistro es un Control tipo Data, pero como tú dices que no quieres usarlo tienes otra opción, en lugar de usar un DataGrid, utiliza un
Grid y llénalo manualmente con tu Recordset. Así:

Dim Registro as Recordset
Set Registro = BaseDatos.OpenRecordset("SELECT * FROM TABLA")

Dm I as Integer
I =1
Do While Registro.Eof = False

Grid1.Row = I

'Campo1
Grid1.Col = 0
Grid1.Text = Registro!Campo1

'Campo2
Grid1.Col = 1
Grid1.Text = Registro!Campo2

'.... y así sucesivamente hasta llenar todas las columnas

I = I + 1
Grid1.AddItem ("")

Registro.Movenext
Loop

Espero que te sirva de ayuda. Suerte!
  #10 (permalink)  
Antiguo 02/03/2007, 11:59
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: DataGrid con DAO

Cita:
Iniciado por AteneaVB Ver Mensaje
Lamento decir que todos estan equivocados. El DataGrid no tiene una propiedad Recordset, sino DataSource.

Lo correcto es:

Dim Registro as Recordset
Set Registro = BaseDatos.OpenRecordset("SELECT * FROM TABLA")
Set DatRegistro.Recordset = Registro
DdGrid1.DataSource = DatRegistro

en donde DatRegistro es un Control tipo Data, pero como tú dices que no quieres usarlo tienes otra opción, en lugar de usar un DataGrid, utiliza un
Grid y llénalo manualmente con tu Recordset. Así:

Dim Registro as Recordset
Set Registro = BaseDatos.OpenRecordset("SELECT * FROM TABLA")

Dm I as Integer
I =1
Do While Registro.Eof = False

Grid1.Row = I

'Campo1
Grid1.Col = 0
Grid1.Text = Registro!Campo1

'Campo2
Grid1.Col = 1
Grid1.Text = Registro!Campo2

'.... y así sucesivamente hasta llenar todas las columnas

I = I + 1
Grid1.AddItem ("")

Registro.Movenext
Loop

Espero que te sirva de ayuda. Suerte!
estimada Atenea,

lamento corregirte, pues el datagrid de la version 5 de nuestro querido visual basic, si tenia la opcion de datarecordset, la diferencia esta en que en la version 6 el datagrid viene para ado y tiene datasourse y recordsourse y no funca con dao xD de echo el control para enlazarlo por defecto es el adodc y no el antiguo data1 xD yap eso numa ;)
  #11 (permalink)  
Antiguo 02/03/2007, 13:53
 
Fecha de Ingreso: octubre-2006
Ubicación: En la mitad del mundo
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: DataGrid con DAO

Cita:
Iniciado por tazzito Ver Mensaje
estimada Atenea,

lamento corregirte, pues el datagrid de la version 5 de nuestro querido visual basic, si tenia la opcion de datarecordset, la diferencia esta en que en la version 6 el datagrid viene para ado y tiene datasourse y recordsourse y no funca con dao xD de echo el control para enlazarlo por defecto es el adodc y no el antiguo data1 xD yap eso numa ;)
Pues no, tazzito en VB 6.0 el datagrid no viene para ADO, porque yo tengo una aplicación desarrollada en Visual Basic 6.0 que utiliza DAO, no ADO.
  #12 (permalink)  
Antiguo 02/03/2007, 13:55
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: DataGrid con DAO

aps bueno :D entonces perdon por mi error ;)
  #13 (permalink)  
Antiguo 02/03/2007, 14:16
 
Fecha de Ingreso: octubre-2006
Ubicación: En la mitad del mundo
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: DataGrid con DAO

He aquí un sencillo pero muy didáctico ejemplo:

h t t p://w w w . s o l o t u w e b . c o m /fs~id~4953.html
  #14 (permalink)  
Antiguo 15/03/2007, 10:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
De acuerdo Re: DataGrid con DAO

el còdigo propuesto por atenea esta bien solo una pequeña optimizacion de mi parte

Dim SQL As String, i As Integer
SQL = "SELECT rfc_cli,nombre From tb_rfc;"
Set FCGrid = db.OpenRecordset(SQL, dbOpenDynaset, dbReadOnly)
i = 1
FCGrid.MoveFirst
Do While FCGrid.EOF = False
grid.TextMatrix(i, 0) = FCGrid!rfc_cli
grid.TextMatrix(i, 1) = FCGrid!nombre
grid.TextMatrix(i, 2) = y ps asi va creciendo
i = i + 1
grid.AddItem ("")
FCGrid.MoveNext
Loop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:23.