** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - DLookup no funciona con un registro concreto
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoDLookup no funciona con un registro concreto

 Responder Responder
Autor
Mensaje
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Tema: DLookup no funciona con un registro concreto
    Enviado: 20/Abril/2017 a las 11:18

Hola, buenos días a todos. Tengo un código que dejo escrito más abajo, el cual me funciona perfectamente, salvo con un único registro de la tbBASICORECETAS, que en el formulario me actualiza los campos “Peso” a campo vacío, pese a que en la tabla, dichos campos tienen su valor numérico. Este código se ejecuta en el evento Después de Actualizar de un combo box. No entiendo porque con un registro en concreto, no actualiza correctamente los campos cuando tienen valor.

 Por favor, si alguno sabe que sucede o puede estar sucediendo, le ruego me indique como solucionarlo. Gracias


 Me.Ingrediente10 = DLookup("[Ingrediente]", "[tbINGREDIENTES]", "[IdIngrediente] = " & Me.Ing10)

Me.Peso10 = DLookup("[Peso10]", "[tbBASICORECETAS]", "[Ingrediente10]=Form.[Ing10] And [IdProducto]=Form.[CodProducto]")

Muchas gracias, aunque sólo lo hayas leído.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 3777
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 14:17
Hola!

Es un problema de comillas:

Me.Peso10 = DLookup("[Peso10]", "[tbBASICORECETAS]", "[Ingrediente10]= " & Me.Ing10 & " And [IdProducto]= " & Me.CodProducto)
Un Saludo.
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 14:47
Gracias Mounir por tu respuesta. No funciona tampoco, me arroja el mismo valor con tu corrección, el valor del código que arroja el DLookup es Nulo. Yo no lo comprendo ni lo entiendo. Con todos los registros de la tabla funciona bien, menos con éste. ADemás, el valor por defecto en el form de los campos "Peso" es cero, pero con ese registro en concreto, me pone los campos del form a campo vacío.
Muchas gracias, aunque sólo lo hayas leído.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 3777
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 15:02
Hola!

¿Existe realmente este registro en la tabla que cumple ambas condiones a la vez ?
Un Saludo.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 9125
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 15:18
¿Qué tipo de campos son Ingrediente10 y IdProducto?


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 15:27
Gracias Mihura por contestar. Si existe el registro con sus valores en los campos "Peso", al igual que el resto de registro. Lo he verificado muchas veces, y de ahí mi falta de comprensión en que funciones bien con todos los registros y con "ése" en concreto no. Estoy alucinado, pero también entiendo que debe de haber y existir alguna causa pero no soy capaz de encontrarla. ¿Porque con todos si pero con uno no?
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 15:30
No vi tu segundo mensajes. Los campos Ingrediente, y IdProducto son numéricos tipo byte, y los campos Peso son numéricos tipo entero.
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 9125
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 16:07
Mete un punto de interrupción y comprueba los valores que tienen.


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 16:53
Hola, he subido la BD a DRopbox pero no se, como daros acceso para que podáis verificar lo que sucede. Me pide una dirección de correo o nombre para dar acceso.
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 17:15
Hola Mihura. Tambien hice lo que me indicas. Varias veces. Los valores que toma de IdProducto y de Ing son los correctos, pero no recoge como debería suceder, el valor de los campos "Peso"
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 9125
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 17:51
Ponle un punto de interrupción justo antes de la línea

Me.Peso10 = DLookup("[Peso10]", "[tbBASICORECETAS]", "[Ingrediente10]= " & Me.Ing10 & " And [IdProducto]= " & Me.CodProducto)



y en la ventana inmediato le pones:

"[Ingrediente10]= " & Me.Ing10 & " And [IdProducto]= " & Me.CodProducto

y pega aquí la respuesta.


Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 18:44
Gracias Mihura por tus indicaciones, pero acabo de averiguar y por tanto de resolver el problema, que me deja perplejo. Explico. El código es para 14 campos que han de actualizarse conforme al IdProducto que se selecciona en el combo box, pero para ello, toma los valores o IdProducto de otra tabla que está relacionada y que tiene los mismos IdProducto. El problema estaba, (la última prueba de hipotéticos cambios que llevo haciendo y que ahora ha resultado) es que daba el valor nulo al actualizar porque los Ing del "rebelde"estaban colocados en campos distintos de cada una de las tablas, por lo que el código al "mirar" un Ing en un campo determinado de una tabla, no lo encontraba en el mismo campo de la otra tabla. En cualquier caso, al igualar el valor de los campos en las dos tablas, el error se ha corregido y el registro "rebelde" ya ha venido al "orden". De todas formas, agradezco a todos el esfuerzo y el interés que os tomáis por ayudarnos a los aficionados en estas cosas. Gracias nuevamente. Un saludo
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Goliat2000 Ver desplegable
Habitual
Habitual
Avatar

Unido: 11/Noviembre/2014
Localización: Madrid
Estado: Sin conexión
Puntos: 192
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 18:47
Lo olvidé de la emoción. Se puede cerrar el hilo.
Muchas gracias, aunque sólo lo hayas leído.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 9125
Enlace directo a este mensaje Enviado: 20/Abril/2017 a las 19:00
Publicado originalmente por Goliat2000 Goliat2000 escribió:

Lo olvidé de la emoción....
 LOL
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable