Problema cuadro combinado en formulario Access 07

Es un gusto saludarles desde Guatemala. Quisiera solicitar su amable ayuda con una que duda que tengo con un formulario en Access 2007. Tengo una tabla "Contacto Clientes" donde no sólo están los datos de los clientes, sino también los datos del vendedor que los atiende.
Elaboré un formulario para ingresar nuevos clientes, este tiene todos los campos de la tabla, pero quisiera que al ingresar un nuevo cliente, pueda escoger con un cuadro combinado el nombre del vendedor que lo atiende y que automáticamente rellene los campos de teléfono móvil y correo electrónico del vendedor, únicamente. Es importante mencionar que un vendedor puede tener más de 1 cliente y como se los describí en el párrafo anterior, los datos de los vendedores están en la misma tabla que los datos de los clientes.
Mil disculpas por la pregunta, porque no se si la respuesta pueda ser algo obvio, pero realmente soy bastante novato en la utilización de Access 2007.

1 respuesta

Respuesta
1
Vamos a intentarlo
Según explicas los datos de los vendedores están en la misma tabla que los datos de los clientes, por lo tanto los vendedores se repiten constantemente.
Yo cambiaría eso, pero vamos con tu caso.
Tienes que crear un cuadro combinado.
No utilices el asistente
Luego mira las propiedades del cuadro y vete a la segunda pestaña-->Origen de la fila
Le das a los tres puntos ( a la derecha) y te aparecerá el asistente de consultas
Agrega la tabla de clientes y cierra el agregador de tablas.
Ahora selecciona por orden los campos de los vendedores que quieres copiar.
En la pestaña diseño encontraras un botón TOTALES, púlsalo, ahora aparecerá una nueva linea en la consulta. Deja todo en Agrupar.
Cierra la consulta y dile que si quieres guardar los cambios.
Ahora el cuadro combinado aparecerá con una lista simple de los vendedores.
Vamos al código del cuadro combinado (CC)
Vamos a las propiedades->Eventos->Después de actualizar [Procedimiento de evento] y los tres puntos.
Ahora se abre el visual basic. Un poco de código.
****************************************
If CC > "" Then
Me.campo1 = Me.CC
Me.campo2 = Me.CC.Column(1)
Me.campo3 = Me.CC.Column(2)
...
End If
*************************************
Con esto le dices que si existe un vendedor elegido que copie los datos a los campos del formulario.
Espero que sea lo suficientemente claro, si no te preparo el ejemplo.
¿Qué tal Numerobix, cómo estás?
Antes que todo pues mil gracias por tu valioso apoyo y por tus conocimientos.
Con las instrucciones antes del código pues todo va bien. Realmente presento mis disculpas tal vez por realizar preguntas que pueden ser obvias o evidentes, pero mis conocimientos en Visual son nulos. ¿Qué debo hacer con este código? Reemplacé donde dice Campo 1, por el nombre del campo de mi tabla, igual que en el campo2 y campo3. Pero me dice: Error de compilación. Se esperaba fin de la instrucción.
Los nombres de los campos son:
Teléfono Casa V/C: Campo 14
Teléfono Móvil V/C: Campo 15
Email V/C: Campo 16
Y con las columnas, ¿se cambia el número?
Nuevamente, mil gracias por tu ayuda y quedo en espera de tu gran apoyo.
Saludos.
Siento el retraso pero aquí es fiesta.
Los nombres de campos con / o acentos son fuentes de problemas inimaginables. Yo los cambiaría. Ademas no dejaría espacios tampoco.
If CC > "" Then 
Me.campo1 = Me.CC 
Me.campo2 = Me.CC.Column(1) 
Me.campo3 = Me.CC.Column(2) 
... 
End If
En este condigo CC es el nombre del cuadro combinado origen de los datos.
Campo1, campo2 campo3, el nombre de los cuadros de texto donde va cada dato, que normalmente coincide con el nombre del campo pero no tiene porque.
Si solo usas 3 columnas los 3 puntos no sirven, que quizás es lo que te confunde, los puse para que veas que puedes colocar tantas instrucciones como quieras.
Hola Numerobix, no sabes cuánto te agradezco tu tiempo y la paciencia que me estás regalando.
Siguiendo tus consejos, realice algunos cambios en el diseño de la base de datos:
Tengo en una tabla con todos los datos de los clientes que se llama: Contacto Clientes
Y en otra tabla, que se llama Vendedor_Cobrador, están los datos de los vendedores.
Ahora bien el formulario, que se llama Ingresar Nuevo Cliente, debe alimentar la tabla de Contacto Clientes y el cuadro combinado, cuyo origen está en la tabla Vendedor_Cobrador debe alimentar los campos
1. Vendedor_Cobrador
2. Telefono_Casa_V_C
3. Telefono_Movil_V_C
4. Email_V_C
Ubicados en la misma tabla Contacto Clientes. El cuadro combinado tiene el mismo nombre que la tabla de origen Vendedor_Cobrador y el nombre de los campos en el formulario es exactamente igual a los de la tabla de origen, Vendedor_Cobrador.
Realmente sigo con el mismo problema con el código, la forma en que lo estoy ingresando es:
Private Sub Cuadro_combinado64_AfterUpdate()
If Vendedor_Cobrador > "" Then
Me.Telefono_Casa_V_C = Me.Vendedor_Cobrador
Me.Telefono_Movil_V_C = Me.Vendedor_Cobrador.Column(2)
Me.Email_V_C = Me.Vendedor_Cobrador.Column(3)
End Sub
No se realmente, qué estoy haciendo mal... por lo que nuevamente agradeceré tu ayuda y apoyo con la situación.
Saludos,
Atentamente,
Juanito79
Private Sub Cuadro_combinado64_AfterUpdate()
If Vendedor_Cobrador > "" Then
Me.Telefono_Casa_V_C = Me.Vendedor_Cobrador
Me.Telefono_Movil_V_C = Me.Vendedor_Cobrador.Column(2)
Me.Email_V_C = Me.Vendedor_Cobrador.Column(3)
End Sub
a bote pronto en esta funcion veo un error en la primera linea, el cuadro combinado que nombre tiene? porque tendria que ser Vendedor_Cobrador, a ver si creaste la funcion y luego renombraste el cuadro combinado, el codigo no cambia el nombre, lo tienes que hacer tu.
Prueba eso, si no es me avisas.
Muchas gracias Numerobix, precisamente ese era el error. Ya no me da el error, pero fíjate que los campos que siguen al cuadro combinado no se rellenan automáticamente al ingresar el nombre del Vendedor, por ejemplo al escoger Vendedor 1, no aparecen los datos de:
Telefono_Casa_V_C
Telefono_Movil_V_C
Email_V_C
¿Qué puede ser?
Escribe la consulta del cuadro combinado. Seguramente no tengas los datos correctos.
Numerobix, no se si realmente me he expresado muy bien. Fíjate que lo que yo deseo hacer es que los campos de la tabla Contacto Clientes, que se llaman:
1. Vendedor_Cobrador
2. Telefono_Casa_V_C
3. Telefono_Movil_V_C
4. Email_V_C
Se completen con el listado de nombres de Vendedores que aparecen en la Tabla Vendedor_Cobrador. Los campos se llaman exactamente igual en ambas tablas pero no están relacionadas. Es importante mencionar que el registro que se está ingresando es completamente nuevo, por lo que el usuario de la base de datos puede escoger el nombre del Vendedor que quiera, de la tabla Vendedor_Cobrador, para asignarlo al nuevo cliente . Cuando el nuevo registro sea guardado deberá afectar únicamente a los campos de la tabla Contacto Clientes.
Lo que se pretende es ayudar al usuario de la base de datos cuando escoja el nombre del Vendedor_Cobrador, de tal manera que cuando lo haga los campos de
2. Telefono_Casa_V_C
3. Telefono_Movil_V_C
4. Email_V_C
Se completen automáticamente al seleccionar el nombre y que no se realicen los cambios en esa tabla, sino en la tabla Contacto Clientes. Es decir la tabla Vendedor_Cobrador sirve únicamente para escoger los datos del vendedor seleccionado.
Nuevamente me disculpo por tanta molestia y agradezco tu ayuda.
Te envío un ejemplo de lo que buscas.
No te preocupes, a veces solo escribiendo es difícil entenderse en estos temas.
http://planetainformatico.es/todoexpertos/ej.anadirdatosconcc.mdb
Numerobix no sé realmente como agradecerte la paciencia, la dedicación y el tiempo que invertiste en ayudarme. Eres un verdadero maestro experto en Access. Funcionó todo a las mil maravillas con el ejemplo que me enviaste aclaré todas mis dudas y tenía no uno, sino varios errores, pero todos fueron solucionados gracias a tu amable apoyo.
Quedo eternamente agradecido contigo, y quizá algún día, pueda ayudarte yo también!
Qué Dios te bendiga!
Saludos.
Juanito79

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas