Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Access: cuadro combinado.

Estas en el tema de Access: cuadro combinado. en el foro de Bases de Datos General en Foros del Web. Siento plantear cuestiones así de sencillas pero es que estoy empezando a tratar con el Access y por más manuales que miro no encuentro respuesta ...
  #1 (permalink)  
Antiguo 28/07/2003, 02:04
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 4 meses
Puntos: 0
Access: cuadro combinado.

Siento plantear cuestiones así de sencillas pero es que estoy empezando a tratar con el Access y por más manuales que miro no encuentro respuesta (si me proporcionais una dirección de un manual amplio os lo agradeceré )

Tengo un formulario a través del cual quiero introducir datos de distinto carácter (imaginaos datos personales x ejemplo). He puesto un cuadro combinado y quiero que me aparezcan una serie de valores y que el que elija se me guarde en el campo correspondiente de ese registro. Pero también quiero poder ir añadiendo nuevos valores posibles a ese campo.

De acuerdo con el ejemplo de los datos personales:
en cada registro quiero guradar entre otras cosas la ciudad en la que vive cada persona registrada y algunos de esos valores se repetirán así que quiero facilitar la tarea con un menú desplegable. He creado una tabla con una columna en la que figuran algunos valores válidos para ese campo y el cuadro combinado asociado. Como es un cuadro combinado me permite introducir nuevos valores y guardarlos en la tabla de datos de los datos personales. Hasta ahí, conseguido, los registros son correctos.

Pero la tabla de origen del cuadro combinado es decir, la ristra de valores que me aparece en el menú desplegable del formulario no se actualiza con los valores nuevos. ¿Cómo lo hago?

Siento molestaros con dudas de principiante pero es que he mirado varios manuales y sigo sin verlo claro. Repito, si alguien puede proporcionarme la dirección de un manual amplio le estaré muy agradecida (gratuito, claro )
  #2 (permalink)  
Antiguo 28/07/2003, 02:29
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Para conseguir lo que quieres lo puedes hacer de dos formas:

1: en el evento notinlist del cuadro combinado haces que el valor se guarde en la tabla donde tienes los valores válidos, pasando a ser ese uno más de los válidos a partir de ahora, eso suponiendo que has basado el combo en una tabla ¿¿?? si no lo has hecho así y lo que has hecho es poner directamente en el combo valores y ya está, vas a tener más problemas para grabarlas, a no ser que lo hagas de forma dinámica al abrir el formulario, y cambiar el rowsource del combo.

2: Poner como Rowsource del combo una select combinada entre una serie de valor fijos obtenidos de una tabla, esto no puede ser de otra forma, y los valores introducidos en la tabla en la que vas a grabar, es decir un SELECT DISTINCTROW Provincia FROM Provincias UNION SELECT DISTINCTROW Provincia FROM TablaDatos. Esta opción puede que te de valores duplicados, aunque eso es evitable si lo basas en una consulta que saque valores distintos de esa SELECT.

Si necesitas ayuda lanza un grito, alguien habrá al otro lado
  #3 (permalink)  
Antiguo 28/07/2003, 02:59
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 4 meses
Puntos: 0
¡Gracias!
Tu respuesta me suena a chino pero tengo que confesar que ya me esperaba algo así (no te lo tomes a mal, ya he dicho que estaba comenzando) . Para aprovechar esta información tendré que echar horas de trabajo pero te agradezco ya tu rapidez. Espero aprender intentando hacer lo que dices.

PD: Si en dos días no he dado señales de vida avisad a mi familia, me encontrarán catatónica frente al ordenador
  #4 (permalink)  
Antiguo 28/07/2003, 03:27
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Vale..... no te preocupes vayamos por partes, como diría Jack el destripador.

Primero, te hago unas preguntas y vamos paso a paso.

Como has hecho para tener una lista de ciudades?? te has creado una tabla con ciudades???
  #5 (permalink)  
Antiguo 28/07/2003, 03:37
Avatar de amanda75  
Fecha de Ingreso: junio-2003
Ubicación: cerca, pero no mucho
Mensajes: 684
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola:

¿has probado a mirar en la base de datos de ejemplo Neptuno o a instalarte los modelos que incluye access?

Antes de que te catatonices instálatelos, te hablo de memoria, pero creo que en la plantilla de "gastos", hay un campo como el que tú quieres que para introducir el nuevo valor sólo tienes que hacer doble clic sobre él.


Suerte
  #6 (permalink)  
Antiguo 28/07/2003, 03:57
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 4 meses
Puntos: 0
Sí, una tabla aparte con un sólo campo.
Si selecciono el cuadro combinado y saco sus propiedades (botón derecho y tal), en la pestaña de eventos, debo de pinchar en "después de actualizar" ¿verdad? Y luego es cuando llegamos a la pantalla de VBasic. Es así ¿no?
  #7 (permalink)  
Antiguo 28/07/2003, 04:01
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Tienes una opción mejor, utiliza el evento 'al no estar en lista' (NotInList que te decía antes) esto te asegura que el nombre no está, si utilizas 'Después de actualizar' tienes que comprobar que esté.

Bien, entonces en el evento seleccionas la opcion [Procedimiento de evento], pulsas el bontón con los tres puntitos de al lado, y entonces que cuando entras visual vasic para aplicaciones, y escribes el código para que la ciudad escrita la guarde en la tabla ciudades

Hasta aquí bien???
  #8 (permalink)  
Antiguo 28/07/2003, 04:15
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 4 meses
Puntos: 0
Hasta lo de apretar el botón con los 3 puntitos bien (:P) el problema es cuando aparece esa pantalla de Visual Basic porque yo lo único que sé de programar es de Pascal y el terrible MatLab

Pero no te preocupes, no quiero tener morro. Le echaré un par de kinders y me pondré a ello.

Amanda, gracias. Miraré a ver si con eso lo soluciono sin tener que aprender VB en modo emergencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:08.