Como hacer qe un form muestre asientos disponibles

Gran experto perdoname molestarte mi duda, tengo un form con una matriz de 42 commandbuton son asientos de un bus determinado que se elige eligido una ruta de viaje y a una detrminada hora de viaje, ejemplo: si se elige una ruta; ciudad "X", y esta tiene 2 horas de salida una alas 8:00. A.m y otro alas 11:30 am. Tengo las tablas asientos, horarios, ruta, buses, estas están realcionadas así:
Relacion simbolo (==>) de uno a muchos:

tabla: ruta.idruta==>tabla:asiento.idruta
tabla: ruta.idruta==>tabla:horarios.idruta
tabla: buses.idbus==>tabla:ruta.idbus
TABLA: ASIENTOS, SUS CAMPOS: idruta, asiento, ocupado
TABLA: HORARIOS, SUS CAMPOS: idhorario, idruta, hora_salida, hora_llegada

TABLA: RUTA, SUS CAMPOS: idruta, ruta_nombre, idbus, precio
TABLA: BUSES, SUS CAMPOS: idbus, idruta, descripción, capacidad
La lógica Experto es que en cada hora_salida hay un bus disponible con nuevos asientos disponibles.

Mi pregunta es: como haría el código para deshabilitar (enable=false) los asientos ocupados o pedidos (la matriz de commandbutton) de una determinada hora de salida y ruta elegida, ya que si se elige otra ruta diferente al empezar el día los asientos del bus de esta ruta estaría habilitadas(desocupadas) ya que no habido reserva o pedidos de asientos(venta).
El código que utilizo es este, pero solo muestra todos los asientos y me he confundido
SUB ASIENTOS DISPONIBLES Y OCUPADOS

Sub LlenaCmbPintar()
Dim Cmd As ADODB.Command
Dim Rs As ADODB.Recordset
Set Cmd = New ADODB.Command
Set Rs = New ADODB.Recordset
Cmd.ActiveConnection = Cnn
Cmd.CommandType = adCmdText
Cmd.CommandText = "SELECT asiento, idruta FROM horarios, asientos, ruta, bus WHERE asiento>=1 INTO CURSOR ESTADOASIENTOS"
select estadoasientos
cinstruccion = "Command1(Index)"+trim(str(asiento)) + ".enabled = False"
Command1(i).Enabled = False
&cinstruccion
Set Rs = Cmd.Execute
If Rs.EOF = True Then
    MsgBox "Tabla Elementos vacia ...!", vbQuestion
Else
Do While Not Rs.EOF
        CmbE.AddItem Trim(Str(Rs!Nro))
        LblElemento(Rs!Nro - 1).BackColor = &HFF00&
        Rs.MoveNext
Loop
End If
Rs.Close
End Sub
Y como seria el código también para que cuando se empiece un nuevo Día los commandbutton (asientos de bus) aparezcan habilitadas para todas las rutas nueva venta de pasaje.

1 respuesta

Respuesta
Revisa el where para incluir las condiciones de ruta y de horario ademas de ela que ya tienes
Gracias gran experto por contestar estuve sin conexion a internet y por eso demore en contestarte, utilize una consulta y de ahi lo jale en Vbasic; asi, cmd.CommandType = adCmdStoredProc, cmd.CommandText = "verasientos"  , parce qe si me funciona experto, mi duda es como haria el form de asientos, para que este muestre todas las asientos de un bus con 2 pisos.,.,
No entiendo la pregunta, pero si lo haces para 1 piso es igual para el segundo piso
Supongo en mi ignorancia que un bus con 2 pisos los asientos del segundo piso NO tienen los mismo números del piso uno
Los asientos del segundo piso deben ser igual a los del primer piso, no tengo idea de como hacer un form con esos 2 pisos, en el que tengo actualmente muestro 44 asientos que lo simulan botones de comando (arrays indice) en un form. no se si me di a entender.-,. Experto,
Fácil, si son 44 puestos por piso, del 45 en adelante son del piso 2
Hola gran experto claro que si eso de los asiento debe ser así, lo que no me di a entender bien fue como haría el diseño del form con los asientos del 2 piso cuando este se elija, una tarea habitual de esta venta de pasajes es que a veces el pasaje en el 2do nivel osea el 2 piso vale más que el del 1 piso...
Fácil lo sabes porque el asiento es mayor a 44
Si es fácil gran experto la iea que no tengo es como hacer un solo form que contenga los 45 asientos de cada piso de bus, si hacerlo el form horizontal o verticalmente.,., gracias experto
Si el tipo de bus es de 2´pisos, muestras 1 botón para mostrar los puestos del segundo piso, si el tipo de bus es 1 solo piso no lo muestras o lo colocas inhabilitado.
Gracias experto por tu apoyo llegamos a esta idea que así más o menos seria los asientos, pero en realidad no se si así es la manera coreecta para que mi sistemita sea robusto o no seria o habría otra manera idea para hacerlo robusto.. gracias por tu respuesta
No entiendo a que te refieres

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas