Access - Problema con formulario

   
Vista:
Imágen de perfil de Salvador

Problema con formulario

Publicado por Salvador (65 intervenciones) el 10/12/2015 12:50:37
Para pasar datos de un cuadro de lista a un formulario utilizo la siguiente expresión:

1
2
3
4
5
6
Private Sub Lista0_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[codigo] = " & Str(Nz(Me![Lista0], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

esta expresión me funciona bien colocandola en el apartado "Después de actualizar"

pero si intento colocarla en un subformulario utilizo

1
2
3
4
5
6
7
Private Sub Lista0_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst(Forms![ContaPresupuestoLineasCons]![cuentaPresup]) = " & Str(Nz(Me![Lista0], 0))"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
 
End Sub

y me produce el error que adjunto en un pdf.

Alguien me podría dar uns solución.?

Gracias.

Salva
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

Problema con formulario

Publicado por Miguel libra_1932@hotmail.com (44 intervenciones) el 10/12/2015 23:08:02
Me parece que el problema puede ser por dos razones:
El nombre del formulario esté mal escrito que no creo que sea eso
Lo otro es que esta mal la sintaxis de la funcion findfirst. Y en este punto te digo que pruebes esto:

rs.FindFirst "Forms![ContaPresupuestoLineasCons]![cuentaPresup] = " & Str(Nz(Me![Lista0], 0))

trata de hacer tal cual lo hiciste en la parte del cuadro lista pero en este caso solo reemplaza de manera completa forms![contaPresu........


Avísame si funciona sino para hacer una prueba y ayudarte
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

Problema con formulario

Publicado por Miguel libra_1932@hotmail.com (44 intervenciones) el 14/12/2015 14:22:36
Hola Salva !!

Te envie la solución de tu caso problema, espero te ayude y sirva.
Asimismo cuando te comente respecto a que la validación del código [cuentapresup] del formulario no coincidía con el [cuentapresup] del cuadro de lista es porque el primero trae una longitud de 10 caracteres que es correcto, mientras que el cuadro de lista trae el código con una longitud de 11 caracteres ¿¿?? por que lo hace no lo se. Aparentemente se ven que son el mismo código sin embargo por longitud son diferentes y por ello no encuentra similutd.
La solución a ello era quitar la función STR.

Finalmente así debería quedar la instrucción:

rs.FindFirst (Forms![ContaPresupuestoCabecera]![ContaPresupuestoLineasCons].Form![cuentaPresup] = Nz(Me![Lista0], 0))

Espero esto te ayude a solucionar tu caso.

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