Autocompletar Dato tabla, teniendo en cuenta otra con varios criterios

De entrada a ver si consigo explicarme bien,
Tengo una base de datos para calcular notas de envíos, pero tenesito añadirle los costes según el tipo de envío, ya que esto ahora lo calculo manualmente y es un tanto engorroso.
Tengo la tabla principal que entre otras cosas contiene, tipo, peso i ámbito, he creado una nueva tabla con la que asigno que según el id de esas 3 tablas, tenga un valor u otro.
Pues necesito que esta información me la añada a la nota de envío, ya que no consigo que lo vincule o lo haga teniendo en cuenta esos criterios.
Osea, por ejemplo que haga la consulta de que si añado un envío de "tipo" 1, "peso" 2" y "ambito" 4, me diga que ese envío me cuesta 4.

1 respuesta

Respuesta
2

Al no ver la estructura de las tablas, supongamos que la tabla donde pones el precio se llame Precios y tenga los campos( entre otros) tipo, peso, ámbito y precio

En el formulario, en el evento Al recibir el enfoque del cuadro de texto precio puedes poner

Precio=dlookup("precio","precios","tipo=" & me.tipo & " and peso=" & me.peso & " and ámbito=" & me.ambito"")

Así, cuando en el formulario hayas puesto un tipo, un peso y un ámbito, al llegar el cursor al cuadro Precio buscará en la tabla Precios el que le corresponde a lo que has escrito.

Hay más formas, pero sería conveniente que pusieras el diseño de las tablas.

Vale, parece que me ha petado la bdd XD ahora no me deja hacer nada por "memoria insuficiente"
En cuanto edite la copia anterior que tenia y pruebe digo los resultados.
Muchas gracias.

Vale, estoy en proceso y creo que en buen camino (o eso quiero pensar),
El código que he puesto al recibir enfoque es el siguiente:
Preu = DLookup("Preu", "Preus", "id_Producte=" & Me.[ID.producte] & " and id_pes=" & Me.[ID.TRAMS DE PES] & " and id_Ambit=" & Me.[ID.Àmbit])
En teoría para que busque en la tabla en la que hay cada campo a comparar, creo que lo he puesto bien, pero me da un error, me dice: error 2465 . Access no puede encontrar el campo 'l' al que se hace referencia en su expresión

Suele pasar cuando no encuentra, o bien el campo donde debe buscar o el control al que haces referencia en la expresión no se llama así.

En el formulario mira en las propiedades-Otras-Nombre de los controles, a ver como se llaman.

Por cierto. Si el valor es numérico la expresión es

=" & me.loquesea & "

Si es texto es

='" & me.loquesea & "'

Es decir apostrofe comillas y para cerrar comillas apostrofe, y si es la última comillas apostrofe comillas

Si es fecha

= #" & me.loquesea & "#

Pero, no sé si es errata o que tengo la pantalla sucia pero parece que encima de la A de Ambit hay un acento

Lo reviso y te sigo informando, muchas gracias por tu dedicación.
Lo que tiene que buscar es numérico, así que en principio eso esta bien, lo que comentas de Àmbit es correcto, tiene acento porque el nombre de la tabla también lo tiene. Puede que sea ese el fallo, que no lo pilla por el acento.

Sigo peleándome..
Creo que lo estoy planteando mal, ya que quiero que el Dlookup me busque en tablas y debería tener en cuenta lo que seleccione en las otras casillas del formulario, en estas casillas muestra los 3 valores en texto, y en la tabla "preu" lo tengo puesto por el ID de esas otras tablas.
No se si es muy lioso de por si o me estoy liando yo solo.. pero en vez de avanzar parece que vaya hacia atrás.
Esta es la relación de tablas, para que veas como esta

Antes de nada, permíteme que te diga, que por el hecho de que una tabla vaya a coger datos de otra no quiere decir que tengan que estar relacionadas. Por ejemplo, si en una tabla Ventas tienes el idCliente, no quiere decir que tengan que estar relacionadas. Si deben estar cuando vayan a trabajar juntas tipo Ventas y DetalleVenta.

Si lo que tiene que buscar es texto debería ser

Preu = DLookup("Preu", "Preus", "id_Producte='" & Me.[ID.producte] & "' and id_pes='" & Me.[ID.TRAMS DE PES] & "' and id_Ambit='" & Me.[ID.Àmbit] & "'")

De todas formas, si quieres, repito, si quieres mándame un mensaje(solo el mensaje) a [email protected] y te mando un ejemplo, con esos datos. Si lo haces, en el asunto del mensaje pon tu alias PEN Nolose ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas