Bob Gajewski
rbgajewski at roadrunner.com
Mon Jan 26 23:46:05 CST 2009
Many thanks to all that responded. Since the error was only occurring when
the user clicked on the Print button, I used the code below:
Best regards,
Bob
==== START OF CODE SNIPPET ====
Private Sub cmdPrintReport_Click()
On Error GoTo Err_cmdPrintReport_Click
If DCount("EventSectionLeftID", "tblEventSectionLeft", "EventLeftID =" &
EventID) = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Insert Into tblEventSectionLeft (EventLeftID) VALUES (" &
Me!EventID & ")"
DoCmd.SetWarnings True
End If
If DCount("EventSectionMiddleID", "tblEventSectionMiddle", "EventMiddleID ="
& EventID) = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Insert Into tblEventSectionMiddle (EventMiddleID) VALUES
(" & Me!EventID & ")"
DoCmd.SetWarnings True
End If
If DCount("EventSectionRightID", "tblEventSectionRight", "EventRightID =" &
EventID) = 0 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Insert Into tblEventSectionRight (EventRightID) VALUES ("
& Me!EventID & ")"
DoCmd.SetWarnings True
End If
' Set strReportName for Report Type
Dim strReportName As String
strReportName = "rptSeatingChart"
' Set strSortOrder for Sort Order
Dim strSortOrder As String
' Set strWhere for Select Records
Dim strWhere As String, strReportCaption As String
strWhere = "[EventID] = " & Me!EventID
strReportCaption = "Seating Chart and Record of Sales"
' Print report
Dim varOpenArgs As String
varOpenArgs = "varCaption=" & strReportCaption
Dim rpt As Report
DoCmd.OpenReport strReportName, acViewPreview, , strWhere, , varOpenArgs
Set rpt = Reports(strReportName)
rpt.OrderByOn = True
rpt.OrderBy = strSortOrder
Exit_cmdPrintReport_Click:
Exit Sub
Err_cmdPrintReport_Click:
MsgBox Err.Number & ": " & Err.Description
Resume Exit_cmdPrintReport_Click
End Sub
==== END OF CODE SNIPPET ====
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bob Gajewski
Sent: Sunday, January 25, 2009 18:38 PM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Create subform record when form record is created
This question is for an event ticket sales application (with assigned
seating).
I have one main table (tblEvents) for the header information (name, date,
time, etc.).
I have three section tables (tblEventSectionLeft, tblEventSectionMiddle, and
tblEventSectionRight) for the ticket sales information. This was necessary
due to the number of fields required. This contains the status of each
auditorium seat (A=Available, R=Reserved, S=Sold). Each of the 3 section
tables is related to the main table, with referential integrity for cascade
update and cascade delete enforced.
Normal data entry using a form with three subforms works as expected.
I also have a report that includes main table information and 3 subreports.
My problem is that when I try to print a report but have not yet entered any
data in one or more of the section tables, I get error 2455. This is because
only main table (header) information has been entered; no section table
records exist. But, since all fields in each of the 3 related tables have
default values (they all default to "A"), my question is this -
How do I automatically create the 3 related section table records as soon as
a main table record exists?
As always, I appreciate any suggestions.
Best regards,
Bob Gajewski
P Please consider the environment before printing this e-mail
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com