• Domingo 28 de Abril de 2024, 07:35

Autor Tema:  Re: problemas con consulta select y adodc  (Leído 1083 veces)

javiburgo

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: problemas con consulta select y adodc
« en: Martes 18 de Noviembre de 2003, 16:14 »
0
hola chicos, otro de estos detalles inexplicables me martirizan en este momento..... haciendo la misma consulta sql de dos manera diferentes , me dan resultados distintos. supongamos que la consulta es XXX....

si hago :
adoprev.RecordSource = "XXX"
adoprev.Refresh
no encuentra los registros que deberia, sin embargo, si hago l:

dim cons as adodb.recordset

set cons = bd.OpenRecordset("XXX",dbOpenDynaset)
encuentra los registros correctamente, pero me da error al hacer:

Set adoprev.Recordset = cons
y me da fallo de tipos

alguien me podría ayudar ????

graciñas


:ayuda:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: problemas con consulta select y adodc
« Respuesta #1 en: Martes 18 de Noviembre de 2003, 17:59 »
0
Hola Javiburgo.

Vamos por partes:

1 - Que no obtengas registros al hacer
adoprev.RecordSource = "XXX"
adoprev.Refresh
Se puede deber a que no hayas definido una cadena de conexión en la propiedad 'ConnectionString' del control.

2- Que al hacer

set cons = bd.OpenRecordset("XXX",dbOpenDynaset)
Set adoprev.Recordset = cons

te de error es normal, estás mezclando DAO con ADO (Supongo que 'bd' es un objecto Database de DAO, cuya función 'OpenRecordset', devuelve un recordset DAO, que tu intentas asignar a un ADO).

Con lo cual, si mezclas ADO por un LADO y DAO por otro LADO, te puedes quedar helADO... ji,ji,ji.

Espero que esto te sirva.

Abur.

javiburgo

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: problemas con consulta select y adodc
« Respuesta #2 en: Miércoles 19 de Noviembre de 2003, 11:06 »
0
pues vas a tener razón , que hago un pequeño coctel con las tecnologías...jajaja... existe alguna forma de implementar esta instruccion ?....

set bd = OpenDatabase(".....")

pero con ADO, ya que me interesa usar el adodb.recordset y no puedo utilizar mi bd de DAO ????

por cierto, lo del adoprev no era eso, no se lo que puede ser, ya que la misma instruccion la utilizo en otros sitios y sin problema..... las cosas de la programación...

graciñas meu

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
problemas con consulta select y adodc
« Respuesta #3 en: Miércoles 19 de Noviembre de 2003, 16:48 »
0
Hola de nuevo, javiburgo.

Si quieres usar ADO, no puedes usar un objeto DAO. Sin embargo, puedes obtener el mismo resultado que usando el método 'OpenRecordset', pero en recordset ADO de la siguiente forma (si no hay lugar a confusiones, puedes omitir el 'ADODB' de las declaraciones:

Dim cnx1 as ADODB.Connection
Dim cmd1 as ADODB.Command
Dim rs1 as ADODB.Recordset
Set cnx1 = New ADODB.Connection
cnx1.Open "DSN=MS Access 97 Database;" _
& "DBQ=C:ViaDeAccesoBaseDeDatos.mdb;" _
& "DefaultDir=C:ViaDeAcceso;" _
& "DriverId=25;" _
& "FIL=MS Access;" _
& "MaxBufferSize=512;" _
& "PageTimeout=5;" _
& "UID=admin"
Set cmd1 = New ADODB.Command
cmd1.CommandType = adCmdText
Set rs1= cmd1.Execute("SELECT * FROM Tabla1")

Y con esto ya tienes la selección en el recordset rs1.

Sobre lo del tema del datasource... tal vez abría que repasar la sentencia SQL.

Espero que esto te sirva.

Abur.