Access - Cuadro combinado

   
Vista:
Imágen de perfil de Francesc

Cuadro combinado

Publicado por Francesc FrancescVC@hotmail.com (61 intervenciones) el 27/09/2013 22:17:43
He preparado el siguiente código y me da error: "error 7 en tiempo de ejecución - memoria insuficiente" y al darle a depurar me marca las dos lineas que señalo su inicio con *****.
¿Alguien puede echarme un cable?. Pretendo a partir de un campo que solicito rellenar el formulario con dos campos que me aporta este cuadro combinado e insertar el resultado en los campos pertinentes.

Private Sub Cuadro_combinado98_AfterUpdate()
Dim CodiP As String, MUNI As String
If IsNull(Me.Cuadro_combinado98) Then Exit Sub


***** CodiP = Nz(DLookup("CODIPOSTAL", CodiP))
***** MUNI = Nz(DLookup("POBLACION", MUNI))


If CodiP = "" Then
'No hi ha el codi postal...hauràs de modificar la taula corresponent
Else
Me.CODIPOSTAL = CodiP
Me.POBLACIO = MUNI
End If
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

Cuadro combinado

Publicado por Neckkito (1104 intervenciones) el 28/09/2013 17:37:29
Hola!

Los dlookup que estás poniendo no tienen sentido. Te recomiendo que eches un vistazo a la ayuda del VBE de Access o por Internet para saber cómo es la sintaxis correcta del DLookup.

Además, lo que no puedes hacer que que el valor de la variable que buscas dependa de la propia variable que buscas con el dlookup. Es decir, no puedes hacer

VariableQueBusco = dloolup("Campo", VariableQueBusco)

Y, suponiendo que sea así, que tienes una tabla que se llame CodiP, lo que no te recomiendo en absoluto es que llames a una variable igual que el nombre de la tabla. Si mi suposición fuera correcta la cosa sería:

miCP = dlookup("Campo", "CodiP", "CriterioDeBúsqueda")

Y si tu criterio de búsqueda es el valor que te devuelve el combo, y suponiendo que el combo te devuelva un valor numérico, tu dlookup debería ser:

miCP = dlookup("Campo", "CodiP", "CampoDeFiltro=" & me.cuadroCombinado.value)

Saludos,


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
Imágen de perfil de Francesc

Cuadro combinado

Publicado por Francesc FrancescVC@hotmail.com (61 intervenciones) el 29/09/2013 13:25:00
Buenos dias,
Me liaba bastante con la manera de resolver el problema que tenia. Gracias por vuestros comentarios me han dado la pista y la solución, que no es otra que la siguiente:

Private Sub DadesComp_AfterUpdate()
Me.CODIPOSTAL = Me.DadesComp.Column(1)
Me.POBLACIO = Me.DadesComp.Column(2)
End Sub

Saludos, Neckkito
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
Imágen de perfil de Francesc

Cuadro combinado

Publicado por Francesc FrancescVC@hotmail.com (61 intervenciones) el 30/09/2013 21:41:14
Buenas noches, Neckkito,

Al intentar en el cuadro combinado evitar el error de validar el texto o parte del texto solicitado para localizar datos, me encuentro que si le doy al intro me propone registros que no me interesan (motivado por no teclear correctamente), intento corregirlo con el código que viene a continuación pero no consigo que vuelva a ejecutar la pregunta/búsqueda.
Qué hago mal?
Gracias por la colaboración y ayuda.


Private Sub DadesComp_Exit(Cancel As Integer)
If Me.DadesComp.Value <> "" Then
If (Me.DOMICILI.Value = 0) Or IsNull(Me.DOMICILI.Value) Then
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
DoCmd.Close: Exit Sub
End If
End If
End Sub
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
Imágen de perfil de Neckkito

Cuadro combinado

Publicado por Neckkito (1104 intervenciones) el 01/10/2013 09:59:50
Hola!

Además de hacer "trampas" y realizar dos consultas sobre un solo hilo (porque esa pregunta ya la tienes planteada en otro hilo) decirte que no entiendo lo que quieres hacer ni conseguir.

De hecho, hay muchas probabilidades de que la pregunta no se responda porque no hay ninguno de los expertos que la entienda, como supongo que es el caso.

Te ruego que no vuelvas a utilizar un hilo para plantear otra pregunta diferente. Muchas gracias por tu colaboración.

Un saludo,

Neckkito
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
Imágen de perfil de Francesc

Cuadro combinado

Publicado por Francesc FrancescVC@hotmail.com (61 intervenciones) el 01/10/2013 14:21:04
Buenas tardes, Neckkito,

Lamento que consideres que hago trampas, pero no era mi intención, sino que estoy trabajando una BD para gestionar los socios de una asociación de gente jubilada (como yo) y para evitar las montañas de papeles que se acumulan, decidí plantearme mecanizarlo al máximo. En este momento estoy bloqueado en este tema. Lo matizo más: tengo un cuadro combinado que a partir de un SELECT de una tabla me proporciona 3 datos, calle, CP y población, estos datos los traslado al campo correspondiente en este formulario para rellenar en control de socios. Al enseñar a otra persona la forma de rellenar y al no estar habituada tecleó un dato errónero pero coincidente con parte de un domicilio y pulsó intro y a partir de ahí se fue todo a paseo y empezó a dar errores. A mi modesto entender lo solventaría con este código que he localizado entre los usuarios de Microsoft pero no logro que funcione.
Si me puedes echar una mano te lo agradeceré,
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
Imágen de perfil de Neckkito

Cuadro combinado

Publicado por Neckkito (1104 intervenciones) el 01/10/2013 15:16:16
Hola!

Sigo sin entender demasiado bien qué es lo que quieres lograr, y en el código que propones hay unas incongruencias que, en lugar de dar pistas, lo que hacen es despistar.

Te reescribo tu código a ver si acertamos en la solución, y te marco como comentarios las líneas que para mí no tienen sentido:

...
Private Sub DadesComp_Exit(Cancel As Integer)
'Las condiciones de los if supongo que estarán bien. Eso sólo lo puedes saber tú.
If Me.DadesComp.Value <> "" Then
If (Me.DOMICILI.Value = 0) Or IsNull(Me.DOMICILI.Value) Then
me.undo
' Esta línea siguiente te cierra el formulario. ¿Necesitas cerrar el formulario?
'DoCmd.Close
'Esta línea siguiente te sale del proceso, pero en realidad no tiene ninguna utilidad
'Se podría borrar tranquilamente
'Exit Sub
End If
End If
End Sub
...

Lo dicho: a ver si hemos acertado en algo.

Saludos,

Neckkito
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
Imágen de perfil de Francesc

Cuadro combinado

Publicado por Francesc francescVC@hotmail.com (61 intervenciones) el 02/10/2013 19:49:51
Buenas noches, Neckkito,

Te propongo una cosa si te parece, ya que entiendo lo que me preguntas, pero como el tema código no lo domino mucho..... te puedo mandar una copia de la BD con las dos tablas, la que pretendo llenar con datos de la otra tabla así como del formulario.
Está claro que mi poco conocimiento está llevándote a un caos, nada más lejos de mi deseos.
Ya me dirás y gracias por todo,
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
Imágen de perfil de Neckkito

Cuadro combinado

Publicado por Neckkito (1104 intervenciones) el 02/10/2013 20:41:10
Apreciado Francesc:

Desde el momento en que me dices que vas a coger datos de una tabla y poner los mismos datos en otra ya puedo decirte que tienes mal estructurada tu BD. Lo correcto sería que tuvieras sólo unos datos en una y otros diferentes en otras (salvo honrosas excepciones), y que utilizaras las relaciones de las tablas para sacar la información de la manera que necesites a través de consultas.

De todas maneras pásame la BD (comprimida en zip o rar) y, en el mail, explícame claramente qué es lo que quieres conseguir.

Mi mail es neckkito(ARROBA)myopera(PUNTO)com

Saludos,

Neckkito
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