Hacer que un campo salga automático de un cuadro combinado

Tengo una tabla donde he puesto código producto, descripción... Etc. En el formulario tengo 2 campos uno código producto (cuadro combinado) y otro campo descripción (cuadro texto). Quiero que al introducir el código producto se salga automáticamente en el campo descripción, la descripción que corresponde según el código producto.

¿Cómo puedo hacerlo?

2 Respuestas

Respuesta

Y que fue? ¿Era la solución que buscaba?

Respuesta
1

Echa un vistazo a este ejemplo. Si entiendes la mecánica no tendrás ningún problema en adaptarlo a tu BD: http://goo.gl/zqaUt

Ya me dirás qué tal.

Saludos,

Hola, muchas gracias por tu respuesta.

Siento decirte que soy novata en esto y que no he entendido muy bien lo que tengo que hacer, o bien no me expliqué con claridad.

Pretendo lo siguiente:

En la tabla Productos tengo esto con la clave principal en código producto.

código producto: descripcion:

511248 armario rojo

Y tengo un formulario:

Código producto (que es un combo) para seleccionar el código de producto y que este me ponga en el cuadro de tetxo descripción, la descripción del mismo recogiéndome el código.

Yo pensaba que era mas corto y que solo debía poner en el cuadro de texto descripción el evento.

descripción=código producto.

Puedes ayudarme?

Sacas las propiedades del combo. En el evento "Después de actualizar" le generas este código:

...

Private sub...

Dim vProd as long

Dim vDes as string

vProd=nz(me.[Código producto].value,0)

If vProd=0 then exit sub

vDes=dlookup("descripcion","Productos","[Código producto]=" & vProd)

me.txtDescripcion.value=vDes

End sub

...

Dando por supuesto que txtDescripcion es el nombre de tu cuadro de texto (Propiedades -> Pestaña Otras -> Nombre).

Revisa los nombres de campos, controles y tablas para que coincidan exactamente con los que tú tienes en la BD.

El ejemplo que te recomendaba tiene todos los pasos explicados detalladamente.

Ya me dirás qué tal.

Error:

Se ha producido el error 2465 en tiempo de ejecución:

no se encuentra el campo "¡" al que se hace referencia en la expresión:

Si le doy a depurar me aparece el código subrayado

Private Sub Codigo_Producto_AfterUpdate()
Dim vProd As Long
Dim vDes As Strin

vProd = Nz(Me.[Código producto].Value, 0)
If vProd = 0 Then Exit Sub
vDes = DLookup("descripción", "Productos", "[Código producto]=" & vProd)
Me.Descripción.Value = vDes
End Sub

no se como hacerlo

Me has puesto todo el código. Escríbeme sólo la línea que te aparece en amarillo.

Error:
Se ha producido el error 2465 en tiempo de ejecución:
no se encuentra el campo "¡" al que se hace referencia en la expresión:
Si le doy a depurar me aparece el código subrayado
vProd = Nz(Me.[Código producto].Value, 0)

Gracias por todo tu tiempo, estoy muy pez en esto. Intento ser autodidacta y creo que me equivoco.

Un saludo

Con tu formulario en vista diseño...

1.- Coge el combo que te da el número de producto. Lo seleccionas

2.- Saca sus propiedades

3.- Te vas a la pestaña Otras -> Nombre

4.- Borras el valor que te aparezca ahí. En su lugar escribes

CboProducto

5.- Vuelves al código.

6.- Cambias la línea que te da el error por esta otra:

vProd = Nz(Me.cboProducto.Value, 0)

Por otra parte es posible que te dé un error en una línea posterior. Lo que tienes que hacer es:

1.- Abre la tabla <Productos>

2.- Te vas al campo que te recoge el código de producto.

3.- Miras cómo lo tienes escrito. Es decir, si lo tienes junto o separado (CodigoProducto, por ejemplo), si lo tienes con acento gráfico o no... En pocas palabras coges el valor de ese campo EXACTAMENTE como esta escrito.

4.- Haces lo mismo para el campo que te da la descripción.

4.- Te vas al código y en la línea:

vDes = DLookup("descripción", "Productos", "[Código producto]=" & vProd)

Escribes lo que te he marcado en negrita por los nombres EXACTAMENTE iguales a los que acabas de comprobar en la tabla.

Y vuelves a probar, a ver qué tal te va ahora.

Ya me dirás.

Hola, al intentar meter un código ahora me sale este error:

Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicados en el índice, clave principal o relación. Cambie los datos del campo.

Mira tengo 2 tablas:

La de productos:

código producto y descripción:

otra tabla:

Entradas y salidas :

código producto

descripción

fecha

entrada

salida.....etc.

de esta ultima (entradas y salidas) he hecho el formulario con los campos:

código producto (combo, tengo una relación de códigos)

descripción (donde quiero que me recoja el texto automático al poner el código)

fecha

entrada

salida....etc.

Puede ser por el formulario?.

Gracias otra vez por todo tu tiempo.

El error te salta porque no tienes bien estructuradas tus tablas. Ten en cuenta que esto es una suposición mía porque, sin ver tu BD, es como pedirle a un ciego que te ayude a cruzar la calle.

Me imagino que en tu tabla Entradas y Salidas tienes el campo [código producto] establecido como clave principal.

Si es así lo que tienes que hacer es:

- En esta tabla inserta un campo antes de [código producto].

- A ese nuevo campo lo llamas [IdReg] (identificador del registro), lo pones de tipo autonumérico y le dices que sea clave principal

- Al campo [código producto] le quitas que sea clave principal y en sus propiedades te aseguras de que admita duplicados (creo recordar que es la propiedad "indexado").

Una vez hecho esto vuelve a probar el formulario y me comentas.

En la tabla entradas y salidas tengo la clave principal en el id que es autonumérico y indexado (sin duplicados)

y en la tabla código producto tengo:

id autonumérico

código producto (clave principal)

descripción.

Si quieres cuélgame la BD (comprimida en zip o rar) en filebig (http://www.filebig.net/), me pasas el link de descarga y le echo un vistazo. Así, sin verla, soy incapaz de ver qué es lo que estás haciendo y dónde podría estar el error.

Buenos días:

Intento subirte la BD pero me pide un correo electrónico tuyo.

Un saludo.

El primer correo que pide es el tuyo, por si quieres recibir notificaciones cuando se baje el archivo (si marcas el check de "send me..."

El correo electrónico del destinatario puedes dejarlo en blanco. No es necesario indicar destinatarios.

Para no seguir complicando la cosa envíamela a

Neckkito(ARROBA)myopera(PUNTO)com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas