Campo vinculado en un Formulario de Access 2007

Tengo un Formulario en Access y hay un campo de combo box que se llama "Vendor Name" el cual lo obtengo de una tabla que se llama "Vendor Catalog", lo que quiero es que cuando selecciono un Vendor de la lista, en otro campo me despliegue el "Vendor Code" el cual también esta en la tabla "Vendor Catalog".
Intente un Dlookup, pero creo que tengo un error en la sintaxis;
=DLookup("[Vendor Code]", "[Vendor Catalog]", "[Vendor Name] = " & Forms![PPA Information]![Vendor Name (1)])

1 Respuesta

Respuesta
1
Me parece entender que el combobox "ataca" la tabla Vendor Catalog y que esta contiene los campos "Vendor Name" y "Vendor Code". Si el combobox contiene las dos columnas de datos (aunque una de ellas no se vea), puedes utilizar el AfterUpdate del combo para asignar el valor de una de sus columnas al control que tu quieras:
Me!txtVendorCode = Me!cboVendor.Column(1)
Suponiendo que "Vendor Code" sea la segunda columna del combo. La primera es 0.
Por curiosidad: ¿No estarás "tirando" de un Navision? Es que esos nombres me suenan mucho...
No se a que te refieres con "tirando" de un Navision... pero creo que no lo estoy haciendo :)
Gracias Xavi por tu respuesta... también encontré otra forma de hacerlo:
seleccionando el combobox |event| On change --> [Event Procedure]Me.Vendor_Code__1_ = Me.Combo279.Column(1)
Si me funciono pero encontré otro error en uno de mis campos... tengo un campo calculado que se llama Net price, donde el Unit Price se debe multiplicar por 1000, y la expresión la escribí en Data| Control source
=[UP]*1000
Y si me da el resultado que quiero, pero el resultado no se guarda en mi base de datos... alguna idea??
¿Idea? Si: no lo guardes.
Según los cánones de programación, los campos calculados no deben guardarse.
Ahora bien, si aun así deseas guardarlo, deberás hacer 2 cosas:
1. Asociar el control al origen del control adecuado (actualmente tienes una fórmula)
2. En el evento Después de actualizar, escribes el código necesario para actualizar el campo:
Me!NetPrice = Me!UnitPrice * 1000
Hola!
Si necesito guardar el campo porque es información de un formulario...
Ya lo hice como dices pero no me sale... creo que algo no estoy haciendo bien...
Selecciono el campo de "Net Price(UP*1000)" y me voy a Evet | After Update | [Event Procedure] y puse:
Private Sub Net_Price_UP_1000__AfterUpdate()
Me!Net_Price_UP_1000_ = Me!Unit_Price * 1000
End Sub
Cuando veo la forma el campo se queda en blanco... :(
Debes utilizar el AfterUpdate del Unit_Price, no del Net_Price.
Muchas Gracias por tu paciencia! :) Así quedo el código :)
Private Sub UP_AfterUpdate()
Me.Net_Price_UP_1000_ = Me.UP * 1000
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas