Access - buscar registro por código

 
Vista:

buscar registro por código

Publicado por Jordi (6 intervenciones) el 22/08/2001 10:47:51
Hola escribo para realizar esta consulta:

Estoy intentando que en un formulario me haga lo siguiente via código:
1.-Compruebe si existe el registro
2.-Si no existe añadirlo
3.-Buscarlo y presentarlo por pantalla

Para hacer esto he utilizado el siguiente código que he sacado de diversas fuentes, entre ellas de mi invención y me encuentra bien si existe el registro, i si no lo inserta en la bd pero no consigo hacer que me lo busque
El campo clave de la tabla Parcella es CodiParcella que lo coge de un cuadro de texto llamado Me.codipar, a su vez este valor se almacena en la variable strCriteria, cuando hago clik en un botón de comando ha de buscar por CodiParcella

el código que no consigo sacar y es donde busco el registro, es el siguiente:

Dim dbs As Database, rst As Recordset
Dim strCriteria As String

Set dbs = CurrentDb
strCriteria = me.codipar
Set rst = dbs.OpenRecordset("Parcella", dbOpenDynaset)
' Aquí es donde guardo los datos, en un nuevo registro.
rst.AddNew
rst!Municipi = me.muni
rst!Poligon = me.poli
rst!CodiParcella = Me.codipar
rst.Update
rst.FindFirst strCriteria

rst.Close
Set dbs = Nothing

Cuando hago clik en el botón de comando me da error 3077, error de sintaxis en el número de la expresión
en la linia de codigo:
rst.FindFirst strCriteria

Por que motivo me pasa esto?,
Muchas gracias, si conviene hago un ejemplo más simple o explico
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:buscar registro por código

Publicado por miguel (4 intervenciones) el 24/08/2001 09:41:22
Sustituye:
rst.FindFirst strCriteria
por
rst.FindFirst "campo=" & strCriteria
donde campo es el nombre del campo de la tabla en la cual esta
el valor que corresponda a strCriteria.
En tu instrucción has puesto el valor que deseas buscar, pero no
el campo en donde quieres buscarlo.
Espero que te sirva de ayuda.

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:buscar registro por código

Publicado por Jordi (6 intervenciones) el 27/08/2001 15:05:30
Hola, gracias por contestar, he hecho lo que me has dicho y he utilizado findfirst, de la siguiente manera pero sigue sin funcionar:


rst.FindFirst \"CodiParcella=\' \" & strCriteria & \"\'\"

Creo que voy a dejarlo aquí por que ya he dedicado suficiente tiempo a estos putos recorsets
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:buscar registro por código

Publicado por miguel (16 intervenciones) el 30/08/2001 21:09:14
Pon esto

rst.FindFirst "CodiParcella=" & strCriteria

pero ojo strCriteria es una variable de cadena si el campo CodiParcella es numérico debemos definir strCriteria como numérica.
Date cuenta que los errores que te estan dando son de sintaxis luego el problema lo tienes hay.
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:buscar registro por código

Publicado por Jordi (16 intervenciones) el 04/09/2001 10:41:55
Hola Miguel, gracias por responder y perdona por la tardanza, y he comprovado que realmente si que funciona el código de esta manera:
Private Sub Comando6_Click()
Dim dbs As DATABASE, rst As Recordset
Dim strCriteria As String

Set dbs = CurrentDb
strCriteria = Me.nifs
Set rst = dbs.OpenRecordset("Parcella", dbOpenDynaset)
rst.FindFirst "NIFCIFEla=" & "'" & strCriteria & "'"
Me.Independiente1 = rst!Municipi
Me.Independiente2 = rst!Poligon
rst.Close
Set dbs = Nothing
I me asigna los datos correctos a los controles independientes, el PROBLEMA viene cuando quiero que se convierta en registro activo el que estoy buscando y esto es lo que no consigo , si convierto, los controles dependientes me.muni y me.poli, que tienen como origen de los datos los correpondientes campos Municipi y Poligon de la tabla Parcella.
Muchas gracias, por seguir el culebrón
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