Combo-Bases de datos access

Tengo un combo cargado con varios destinos turísticos y tengo un frame que tiene 24 checkbox que son los asientos del usuario, al momento que un cliente quiere comprar un boleto, da su nombre escoge del combo el destino a donde quiere ir y chequea un ckeckbox al momento de checkearlo se inhabilita y va a la bse de datos. Lo que quiero es que al momento de de escoger un destino del combo te aparezcan los asientos vendidos y disponibles para ese destino.
Lo estoy haciendo en una sola forma, si me sale pero al momento de vender un boleto a mexico (por decir), escoges del combo mexico y checkeas el asiento.
Hasta hay todo bien. Pero al momento de vender otro boleto escoges del combo un destino diferente que no habías vendido ningún boleto... Pero te aparece el que vendiste a mexico... Es como tipo reporte pero dentro del combo.
Si se puede hacer ahí mismo.
Me entendiste
1

1 respuesta

Respuesta
1
Hay algo que no me dices y que es fundamental: ¿Cómo está estructurada la base de datos?
Si te he entendido bien, deberías tener una tabla de destinos, y una segunda tabla de asientos. Los registros de la tabla asientos deberían tener un campo con la clave del destino y tantos datos tipo True/False como asientos.
Si está así, cada vez que escoges un destino, o sea en evento Click del Combo debes hacer en primer lugar una búsqueda en la tabla de asientos del registro cuya clave de destinos sea la del destino tecleado, y una vez localizado el destino nuevo, actualizar todos los check box con el contenido del nuevo registro.
No se si te he aclarado tus dudas. Si no es así, explicame más detalladamente el problema.
Es que solo estoy manejando una base de datos.. entonces tendría que manejar 2 bases en la 1 dejo los puros destinos (combo).
Y en la segunda me dices que que ponga los asientos (24 checkbox) nada más pongo los puros asientos en esa tabla y me dices que una clave del destino y que datos true/false como pongo eso.
Hago otra tabla y solo añado un solo campo el del asiento y lo declaro boolean. Pero estoy manejando un control data, que lo tengo conectado a la primera base de datos... como le hago para abrir la segunda base de datos al momento de seleccionar del combo el destino y hacer la búsqueda de los asientos...
Eso es lo que te entendí que te explicara
Gracias por ayudarme
Como me hablabas en tu pregunta inicial como de pasada, de la base de datos, había supuesto que ese aspecto lo tenías claro aunque ya veo que no.
En cualquier aplicación que maneje datos que deben guardarse, (es decir en prácticamente todas) lo más importante, y previo a la programación es establecer una estructura coherente de datos, diseñando una base de datos que modelice el problema.
Aunque no me aclaras prácticamente nada, voy a suponer el problema que tienes y voy a tratar de hacer un modelo de datos apropiado, Es posible que me equivoque ya que apenas tengo datos.
Supongo que tienes que manejar la reserva boletos (billetes, decimos a este lado del Atlántico) para una empresa de...¿autobuses? Que tiene lineas a varios destinos.
Lo primero: ¿Son todos los autobuses iguales? Hablas de 24 asientos como un dato fijo. Si hubiese varios modelos de autobuses unos podrían tener 24 asientos, otros más o menos.
Segundo: no mencionas para nada las fechas. Supongo que cuando un usuario quiere reservar un asiento tendrá que indicar a qué destino y en que fecha, porque las reservas para un día no tienen nada que ver con las reservas para otro día. Sobre este mismo tema: Hay un viaje y solo uno cada día a cada destino. Si hubiera más de uno, no sería bastante con indicar la fecha, ya que se podría reservar en el primer viaje, en el segundo... para una fecha y destino dados. Por el contrario si hubiese días en que hubiese viajes, habría que establecer en la base de datos un "calendario" para saber qué día hay viajes a un destino dado y que días no.
Voy a suponer que hay un viaje diario para cada destino y sólo uno, de manera que con indicar destino y fecha queda establecido el viaje.
Entonces tendrías que hacer lo siguiente:
En ACCESS abres UNA base de datos con varias TABLAS (no varias bases de datos como me diceas)
En la primera tabla, vamos a poner los destinos: tendría un campo de código y otro de nombre de destino. Los códigos pueden ser los que ya maneje la empresa, yo estoy suponiendo que tienen un código como los que utilizan las compañías aéreas con tres letras (MAD = Madrid BUENA = Barcelona...) Así pues la tabla primera, a la que llamaremos destinos, tendrá un campo alfa numérico de 3 posiciones para el Código y otro de las posiciones que se necesiten para el nombre. Qudará algo así:
Tabla Destinos:
CodDest DescDest
-------- ---------
MAD Madrid
BUENA Barcelona
GUA Guadalajara
ACU Acapulco
...
En esta tabla defines el campo CodDest como clave principal.
Después creas otra tabla donde vas a guardarlas las reservas:
Esta tabla tendrá un campo alfa de tres posiciones con la clave del destino, otro tipo fecha con la fecha del viaje, y 24 campos tipo si/no con la marca de ocupado.
Quedará algo así:
Tabla Reservas:
CodDest Fecha Asiento1 Asiento2 Asiento3...
------- ----- -------- -------- -------- ...
ACU 10/11/02 x x x
ACU 11/11/02 x
...
En esta tabla la clave será CodDestino+ fecha.
En el ejemplo que te he puesto, para el día 10 de Noviembre, el viaje a Acapulco tiene reservados los asientos 1 2 y 3 mientras que para el día 11, sólo está reservado el asiento 1
Una vez montado esto, cuando tu usuario selecciona el destino Acapulco, se busca en la primera tabla su código (ACU). Entonces cuando el usuario indica la fecha, por ejemplo 11 de Noviembre se busca en la segunda tabla por la clave ACU+11/11/02. Esto localizaría el segundo registro del ejemplo y entonces tu prigrama puede presentar como reservado el asienyo 1 y como libres el 2 y 3
Y así sucesivamente.
Veo que las tablas que he intentado representar han salido todas descolocadas. Es casi imposible hacer un esquema con las limiraciones que tiene este editor.
Saludos... Me equivoque al momento de escribir que 2 bases de datos y son 2 tablas y en el programa no manejo reservas, todos los camiones tienen 24 asientos, y la salida de camiones es para una fecha especifica que yo doy.
Solo estoy asiendo un programillla para la escuela, es el proyecto final.
Eso es todo lo que quiero y ya que escribí eso sigo con lo mismo tengo que hacer 2 tablas verdad como me dijiste primero una para los destinos con su clave y otra para los asientos .
Me dices que ponga 2 campos (add field) CodDest y DesDest y que CodDest lo poga como clave principal y como pongo la clave al campo. Es en (add index).
Y después como hago la búsqueda en la segunda tabla al momento de seleccionar u destino del combo.
Gracias por ayudarme.
Cuando me dices "me dices que ponga 2 campos (add field) CodDest y DesDest" deduzco que estás pensando crear las tablas desde el programa. Esto se puede hacer, pero es complicado, y no se hace casi nunca. Es mucho más fácil construir la base de datos directamente en ACCESS con todas sus tablas, campos, indices, relaciones etc etc, con independencia del programa, y luego hacer un programa que trabaje contra esa base de datos ya existente.
Respecto de como buscar un registro determinado en una tabla, existen por lo menos tres formas. Por ejemplo si quieres encontrar el registro cuyo CofDest sea "GUA" Puedes hacer:
1-Búsqueda secuencial
For i=1 to Reservas.recordcount-1
if Reservas.fields("CodDest")= "GUA" then exit for
Next i
2- Con el método Find
Reservas.FindFirst "CodDest='GUA'"
3- Con el metodo Seek
Rerervas.Seeek "=", "GUA"
(El último método supone que la tabla está indexada por el campo CodDest
En cada uno de los tres casos, después de la ejecución el registro activo de la tabla Reservas será el correspondiente al dato GUA
Suerte :-)
Sabes que amigo no entendí nada de lo escribiste, pero teno la base con una tabla hecha y luego en la primera respuesta o segunda me dijiste que tendriaque tener 2 tablas, en la segunda van los puros asientos.
Pero el código que me diste arriba lo voy a poner en el combo(destinos) y al momento de seleccionar busca en la otra tabla (asientos).
Una cosa esto no se te hace muy largo ya.
Una pregunta me puedes dar tu email (si tienes) y luego te mando el programa y si por favor me lo pudieras hacer. Solo necesito que actualize los asientos para cada destino.
Mi email es [email protected]
Si quieres mil gracias y si no como quiera me has ayudado mucho.
Gracias.
Acabo de enviar a tu dirección de correo un proyecto con la solución que yo haría para tu proyecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas