Access - Problemas definición recordset

 
Vista:

Problemas definición recordset

Publicado por Cemer (44 intervenciones) el 03/10/2006 23:36:53
Hola! estoy programando con access 2000. Como puedo activar el Dao?. Quiero utilizar un recordset , pero no me acepta la definición:

dim db as database
dim rst as recordset

tampoco

dim db as dao.database
dim rst as dao. recorset

solo parece que haga algo con:

dim db as object
dim rst as object

escribo el resto de instrucciones y parecen funcionar... a medias supongo, por ejemplo no me activa findfirst (no me da error pero al escribir esta instrucción no se queda escrita con las iniciales en mayúscula como con .MoveNext, la verdad estoy ya desquiciada no sé dónde escontrar la forma de activar o definirlo correctamente.
Os agradeceria una ayuda.
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas definición recordset

Publicado por Rodolfo (463 intervenciones) el 04/10/2006 03:01:30
Tenes que ir a herramientas, referencias y buscar la referencia microsoft Dao 3.6, si ya la tenes tildada puede ser que tengas alguna referencia que tenga conflicto con DAO. Eso se soluciona especificando cuando definis la variable que es DAO.
Ej:

dim tabla as dao.recordset.

Saludos

Rodolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset

Publicado por Cemer (44 intervenciones) el 04/10/2006 06:39:19
Hola de nuevo!
Lo que me dices de ir a Herramientas, referencias és del VB , verdad? Allí si que encuentro està opción pero no en Access, como lo tengo que hacer des de access??? Estoy programando desde el mismo access.
Gracias de todas formas!!!
Seguiré investigando....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset

Publicado por Moises (75 intervenciones) el 04/10/2006 09:22:02
Hola Cemer, hace unos dias me paso algo similar. A veces surgen problemas entre librerias de datos. Una vez en el depurador de Visual Basic, Herramientas, Referencias. Es importante que te situes en el depurador ya que si no, no encontrarás dicha opcion.

Dos cosas, cuando veas tus referencias, si quieres trabajar con DAO prueba a quitar la referencia de controles ActiveX. Como bien he dicho hace unos dias que tuve el mismo problema y lo solucione asi.

Referente a tu código, para hacer referencia a la base de datos actual, yo haria lo siguiente (y te ahorraras dolroes de cabeza)

'Cuando hagas esto mira que en el desplegable no te salgan dos Elementos Recordset, ya que si no, tendras problemas, uno es de ADODB y el otro de DAO.
Dim rsoMiRecordset as Recordset
Set rsoMiRecordset = Currentdb.OpenRecordset("clientes")
Set rsoMiRecordset = Currentdb.OpenRecordset("SELECT * FROM clientes")

'Cerramos el objeto
Set rsoMiRecordset = Nothing

Las dos son totalmente válidas.

Ya dirás que tal te ha ido
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset:

Publicado por Cemer (44 intervenciones) el 04/10/2006 10:44:26
Gracias, gracias, gracias....
He visto ahora tu respuesta, no he podido probar pero estoy segura de que va a funcionar. La verdad es que mira que he probado cosas y no se me ocurrio buscar la opción en el depurador. Ya estaba desquiciada!

Sigo abusando de tu sabiduria... ahora que ya me funcionara esto(seguro), intentaba un findfirst con un par de criterios, busco un campo string y otro (si/no) , no encuentro la sintaxi adequada , me falla el tema comillas, tengo un ejemplo que encontre de algun participante del foro) y lo segui pero , o bien, lo interpreta como comentario a la q pongo comillas simples , o si no falla, me dice que me falta operador.
Podrias seguir iluminandome???

Muchisimas gracias , si puede ser espero tu respuesta.

Hasta pronto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset:

Publicado por Moises (75 intervenciones) el 04/10/2006 14:24:42
Con que no se lo que quieres hacer te presento dos soluciones.

Por un lado, podrias utilizar una SELECT que te filtrara (con comillas simples SIEMPRE en campos de texto) las condiciones necesarias y luego asociarlo a un objeto Recordset.

Por otro lado, puedes utilizar el FindFirst. Utiliza la misma sintaxis que la cláusula WHERE.

objRSO.FindFirst (campo = 'pepe' AND campoboleano = true) ' (sin comillas)
o
campo = 'pepe' OR campoboleano = true (sin comillas)
o
campo = 'pepe' AND campoboleano <> true (sin comillas)

El tema de las comillas es bien simple
si tiene que entrecomillar una palabra dentro de una string que va entre comillas dobles, SIEMPRE CON COMILLAS SIMPLES :
Ejemplo :
strSQL = "SELECT campo1 FROM Tabla WHERE Campo = 'Pepe'"
o bien
strSQL = "SELECT campo1 FROM Tabla WHERE Campo = '" & CampoDeTexto & "'"
(donde CAMPODETEXTO es un campo del formulario)

Como tu quieras...

Espero que te haya sido de ayuda.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset:

Publicado por Cemer (44 intervenciones) el 04/10/2006 17:57:34
sigo teniendo problemas de comillas, te cuento:

rst.FindFisrt (NombreCampo='pepe' AND OtroNombreCampo=true)

cuando ejecuto, se para en la primera comilla y me dice que se esperaba expresión.

Creo que estoy copiando correctamente lo que me has dicho, que puede ser ahora?

Gracias y hasta pronto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset:

Publicado por Moises (75 intervenciones) el 05/10/2006 11:14:22
Wenas,

Prueba a ponerlo entre comillas

rst.FindFisrt ("NombreCampo='pepe' AND OtroNombreCampo=true")

Pruebalo y me cuentas

Recuerda que en el fondo le estas enviando una string (un criterio)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas definición recordset:

Publicado por Cemer (44 intervenciones) el 10/10/2006 17:21:03
No, no soy maleducada... estos dias no he trabajado en el programa! Te cuento en cuanto haga pruebas,vale?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar