seating

F

fapa

Hi

Im trying to create a seating chart that is visible on a booking form and is
updated everytime a booking is made for a performance (using that seating
chart)

A performance is defined by date,time and hall_number, and can only be booked
for upto 100 people (as thats the capacity of the hall) (there are 2 halls)
Everytime a booking is being made for the performance, the hall seating chart
should be appear showing what seats are available and which are booked for
only that performance.

I dont want to create a seating plan for each performance as the layout
doesnt change for the seating plan (always 100 seats) but instead, i'd like
their to be a master seating plan that is used for each performance that
shows how many seats are taken/available for Each performance without
altering another performances seating plan - does that make sense and more
importantly - is this possible?? please help!
 
D

Duane Hookom

Would a seating chart report work for you? If so, do you have table that
could be used to generate a floorplan? This could be something like:

tblSeating
============
SeatID
Hall
RowNum values maybe1-10
SeatNum values maybe1-10

tblRows
=============
RowNum
RowYVal number - "Y" coordinate

tblSeats
============
SeatNum
SeatXVal number - "X" coordinate

tblSeatAssignments
==============
EventID
SeatID
CustomerID (who is in the seat)


tblEvents
===========
EventID
EventTitle
EventDate
EventStartTime
EventEndTime

You could then create a report similar to the "week-at-a-glance" calendar
reports at http://www.invisibleinc.com/divFiles.cfm?divDivID=4. The SeatXVal
and SeatYVal would allow you to correctly position a customer in a given
seat at a given performance.
 
F

fapa

Hi Duane

(sorry about posting twice, am v.new to this!) thanks for your suggestion -
do you know if it would be possible to keep an actual performance chart on
the booking form as it would be needed to allow customers to pick where they
would like to sit.

here's so more info -as the performance only books for 100 people, the
booking system does not need the customer's details as the bookings are all
carried out by staff. What i was hoping is that each booking has a quantity
field whereby staff enter the number of tickets the 'customer' wants which
updates the seating chart to allow the customers to sit together. For
instance, if i want 4 tickets, the seating chart for that performance should
show which 4 seats are available together. if their are no 4 seats available,
then the customer can ask which 4 seats are available for the next
performance date. The x/y suggestion is useful in allocating seats however if
1 person books 5 tickets, the seats should be available together. do you know
how this be done?
 
D

Duane Hookom

This could probably be accomplished by creating a form with controls for
each seat and then using the On Click event and the Mouse X and Y
coordinates to allocate seating.

It might be a fun project if I had 4-8 hours free to play with it. The
solution I suggested with the report might allow you to create the
functionality on your time. Maybe someone else has created something similar
or possibly has the hours available to help you. If you have some basic
questions about my first sentence above, feel free to ask.
 
O

OfficeDev18 via AccessMonster.com

Hi, Duane, fapa,

How about my blurb on your "other" posting, where I laid it out?

Sam

Duane said:
This could probably be accomplished by creating a form with controls for
each seat and then using the On Click event and the Mouse X and Y
coordinates to allocate seating.

It might be a fun project if I had 4-8 hours free to play with it. The
solution I suggested with the report might allow you to create the
functionality on your time. Maybe someone else has created something similar
or possibly has the hours available to help you. If you have some basic
questions about my first sentence above, feel free to ask.
[quoted text clipped - 22 lines]
know
how this be done?
 
D

Duane Hookom

Your solution might work but apparently fapa doesn't want a report since it
is not interactive. Also, I would use the record source of the report rather
than creating a record set in code.

--
Duane Hookom
MS Access MVP
--

OfficeDev18 via AccessMonster.com said:
Hi, Duane, fapa,

How about my blurb on your "other" posting, where I laid it out?

Sam

Duane said:
This could probably be accomplished by creating a form with controls for
each seat and then using the On Click event and the Mouse X and Y
coordinates to allocate seating.

It might be a fun project if I had 4-8 hours free to play with it. The
solution I suggested with the report might allow you to create the
functionality on your time. Maybe someone else has created something
similar
or possibly has the hours available to help you. If you have some basic
questions about my first sentence above, feel free to ask.
[quoted text clipped - 22 lines]
know
how this be done?
 
O

OfficeDev18 via AccessMonster.com

I deliberately did it that way. That way he can loop with the For Each. Your
way, each of the 100 checkboxes would have to be individually programmed,
unless fapa would expand the table to include fields for all 100 seats A1
thru J10, and a sold seat would have a checkmark in it. Then he can put the
whole display on a form. Come to think of it, that's not a half-bad idea.
What do you say, guys? Is that the right way to go?

Sam

Duane said:
Your solution might work but apparently fapa doesn't want a report since it
is not interactive. Also, I would use the record source of the report rather
than creating a record set in code.
Hi, Duane, fapa,
[quoted text clipped - 18 lines]
 
D

Duane Hookom

wrong,
My way, there would be one text box in the detail section of the report that
would be placed in the proper coordinates based on the X and Y values stored
in tables. The text box could display any type of information you want
rather than just a check box.

There is absolutely no way that I would ever create a production table with
100 seats/fields unless this was dynamically filled with temporary data for
a particular event. I would only store the data in a normalized table
structure so that when another row of seats was added, there would be no
changes made to the table structure.

Table structure should never be driven by desired screen/form/report display
of the data.

--
Duane Hookom
MS Access MVP
--

OfficeDev18 via AccessMonster.com said:
I deliberately did it that way. That way he can loop with the For Each.
Your
way, each of the 100 checkboxes would have to be individually programmed,
unless fapa would expand the table to include fields for all 100 seats A1
thru J10, and a sold seat would have a checkmark in it. Then he can put
the
whole display on a form. Come to think of it, that's not a half-bad idea.
What do you say, guys? Is that the right way to go?

Sam

Duane said:
Your solution might work but apparently fapa doesn't want a report since
it
is not interactive. Also, I would use the record source of the report
rather
than creating a record set in code.
Hi, Duane, fapa,
[quoted text clipped - 18 lines]
know
how this be done?
 
O

OfficeDev18 via AccessMonster.com

Duane Hookom wrote:
wrong,
My way, there would be one text box in the detail section of the report that
would be placed in the proper coordinates based on the X and Y values stored
in tables. The text box could display any type of information you want
rather than just a check box.

....Uh, Duane, I think we're talking about two different things. I'm trying to
display the current seating availability to the user BEFORE he makes his
selection, so he can select, and pay for, for example three seats together,
or an isolated seat in a corner, etc. What information are you displaying
with your textbox?


There is absolutely no way that I would ever create a production table with
100 seats/fields unless this was dynamically filled with temporary data for
a particular event. I would only store the data in a normalized table
structure so that when another row of seats was added, there would be no
changes made to the table structure.

....I agree. I was hasty with that thought. Perhaps the better way to do it is
to have one field, say SeatSold, which might be 'A1' or 'D3', etc. This info
can then be read into a 10X10 array which can be used to populate the
checkboxes and displayed in the manner I mentioned before. Also, array
dimensions are easily changed to accommodate different physical
configurations. Ditto the checkbox quantity/configuration.


Table structure should never be driven by desired screen/form/report display
of the data.

....You're right! The only driver for table structure is report/screen CONTENT.


What say?

Sam
 
D

Duane Hookom

My solution would have a table of all potential seats. Addition tables would
easily allow creation of a query with values like:

SeatID RowYVal RowXVal
1 20 40
2 20 80
3 20 120
....
11 40 40
12 40 80
13 40 120

This query would include all possible seats and their x and y coordinates.
Add the sold seats to this query joining on the SeatID. The query will
include all records from the seat position query. The sold seats table might
have a field [SeatComment] for "sold to who" or whatever.

The report could then show a text box bound to [SeatComment] with the Top
and Left property of the text box determined by the values of RowYVal and
RowXVal. This basically how I set up my week-at-a-glance calendar report in
the link I mentioned.

So, there would be only one text box and a few lines of code to position the
text box.
 
F

fapa via AccessMonster.com

Hi Guys

Thank you both for replying - i like both your suggestions! I went with
Duane's idea of creating a table with SeatID which is linked to EventID and
Screen. AND i went with Sam's idea of creating a report of displaying the
seats in a sort of graphical format. The only problem is, i liked both
solutions so much, i now have no idea how to put them together!

What I'd like is - When seats are booked for a particular hall, i'd like
Sam's report to be displayed (for lets say, Hall One). All the seats should
be available as this is the first booking for a particular performance. If a
customer wishes to book 8 seats, then the seats should be selected from
Duane's seating table (which would display all 100 seats). Once 8 seats are
chosen (say A1-A8) should become unavailable to picked again for the same
performance, ASWELL as it being updated on the report to say, A1 - A8 is
unavailable

Can this be done?

I dont want anythng to be printed, just all displayed on the forms. Is this a
crazy idea?
 
F

fapa via AccessMonster.com

thank you soo much!!! You've helped me out SOOO much. Thank you Duane!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top