Access - Problemas campos de tablas

 
Vista:
sin imagen de perfil
Val: 40
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas campos de tablas

Publicado por Fran (23 intervenciones) el 19/09/2017 17:45:57
Tengo dos tablas:

Tabla contrato con los campos: nif, nomprove, importe, fecha....
Tabla proveedores con los campos: nif, nomprove

He creado un formulario con origen la tabla Contrato con todos los campos.
Mi duda es: quiero que al elegir un nif en el formulario se rellene con los datos de la tabla proveedores, es decir que al elegir el nif me rellene el nomprove.

Tengo que cambiar el origen de los campos en el formulario o como lo hago? Tengo que relacionar las tabals?

Saludos
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
sin imagen de perfil
Val: 153
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas campos de tablas

Publicado por Jaime (72 intervenciones) el 19/09/2017 18:14:39
Yo por lo regular no vinculo mis formularios a ninguna tabla, y manejo la mayoría con Dlookup para que me extraiga los datos de cualquiertabla y el Insert Into para guardarlos en donde yo desee. Si necesitas mayor información solo pregunta.
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
sin imagen de perfil
Val: 40
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas campos de tablas

Publicado por Petis (23 intervenciones) el 20/09/2017 08:44:22
El problema es que ya tenía montado el Access y ahora han metido unas modificaciones y tendría que hacer algo parecido a lo que puse arriba.
Al elegir un campo me muestre el valor de otro campo, es decir, como los ejemplos de arriba :

Tabla contrato con los campos: nif, nomprove, importe, fecha....(no sé si me haría falta o no el nomprove o no)
Tabla proveedores con los campos: nif, nomprove

Sería al elegir un nif en el formulario me muestre el valor de nomprove y se guarde en la tabla contrato.
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
sin imagen de perfil
Val: 153
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas campos de tablas

Publicado por Jaime (72 intervenciones) el 20/09/2017 16:41:14
En el siguiente enlace respondí a una duda similar a la tuya:

http://www.lawebdelprogramador.com/foros/Access/1623134-Rellenar-un-txtbox-a-partir-de-un-Combo-List.html

Adaptando el código a tu caso quedaría mas o menos de la siguiente manera, suponiendo que agregaste un combolist (Lista despegable) en tu formulario y que al vicularlo a la tabla seleccionas las columnas nif y nomprove de tu tabla de proveedores teniendo la columna nif como clave principal:

'Agregué el códico en el evento AfterUpdate
1
2
3
4
5
6
7
8
9
10
11
Private Sub camponif_AfterUpdate() 'nombre campo nif a la lista desplegable de tuformulario, no se como lo nombraste tu
 
'Declaro una variable como NP de Nombre Proveedor
Dim NP As String
 
'Busco el valor en la tabla "Tabla proveedores" y se lo asigno a la veriable que acabo de declarar
NP = Nz(DLookup("nomprove", "Tabla proveedores", "nif =" & Me.camponif.Column(0) & ""))
 
'Asigno el valor al campo nomprove del formulario, le puse nomprove debido a que no se como lo tengas nombrado tú en tu formulario
Me.nomprove = Id
End Sub

Cualquier duda solo pregunta, espero poder ayudarte con lo poco que se.
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

Problemas campos de tablas

Publicado por Anonimo (3315 intervenciones) el 20/09/2017 17:38:52
Lo adecuado seria asignar el valor directamente (la variable solo sirve en este caso para ocupar recursos) eso si, si se construye de forma correcta.

Si el NIF es un texto:
Me.nomprove = Nz(DLookup("nomprove", "Tabla proveedores", "nif ='" & Me.camponif.Column(0) & "'"), "")

Si fuera un numero:
Me.nomprove = Nz(DLookup("nomprove", "Tabla proveedores", "nif =" & Me.camponif.Column(0)), "")
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