Access - Error 13 en Tiempo de Ejecucion Los Datos no Coinciden

   
Vista:
Imágen de perfil de Juan Diego

Error 13 en Tiempo de Ejecucion Los Datos no Coinciden

Publicado por Juan Diego (14 intervenciones) el 09/08/2013 20:41:43
Este es mi codigo de evento al actualizar un cuadro de lista, este codigo lo use en otro formulario y todo bien este lo intente usar para mostrar una lista de usuarios y al hacer clic en la lista mostrara los detalles del contacto en el formulario

Private Sub cmdBuscar_Click()
LISTA_USUARIOS.Requery
End Sub

Private Sub LISTA_USUARIOS_AfterUpdate()
Dim rs As Object
'Èste código permite comparar la clave principal de la lista que hemos seleccionado y la compara con el ID Cliente.
Set rs = Me.Recordset.Clone
rs.FindFirst "[NOMBRE_USUARIO] = " & Str(Nz(Me![LISTA_USUARIOS], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
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
Imágen de perfil de Neckkito

Error 13 en Tiempo de Ejecucion Los Datos no Coinciden

Publicado por Neckkito (1104 intervenciones) el 13/08/2013 20:10:55
Hola, Juan Diego:

En primer lugar, ¿por qué utilizas el evento "Después de actualizar"? Creo que sería más conveniente utilizar el evento "Al hacer click".

Declaras rs como Object. Lo mejor sería declararlo como DAO.Recordset, dado que en el código lo utilizas como tal.

Comentas que utilizas clave principal con ID cliente. Eso da a entender que estás utilizando valores numéricos. ¿Por qué utilizas entonces la función Str()? Y si comparas ID, ¿por qué el findfirst está construido sobre un campo [NOMBRE_USUARIO], que a todas luces suena como un valor de tipo texto?

Finalmente, utilizas un sistema un poco "extraño" con ese bloque IF. Usualmente se utiliza otro tipo de construcción.

Dicho esto si quieres puedes bajarte este ejemplo que te he preparado, muy simple, pero que te servirá para ver cómo podría funcionar. Ten en cuenta que, en el ejemplo, tanto el filtro del findfirst como el valor que te devuelve el listbox son valores numéricos, que se corresponden con el campo [Id] de la tabla. Aquí lo tienes: http://www.mediafire.com/?9856qyiaf7xm45i

A ver si con esto puedes arreglártelas

Un saludo,


http://neckkito.siliconproject.com.ar
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