Hello,
I am trying to loop through a table, "Contacts", and for each record output file(s) if it meets certain criteria. I split it into multiple Subs because it would not compile, but I do not know how to share the same recordset between the multiple Subs.
This is probably a very newbie issue, but I cannot seem to search for the correct thing to find a solution.
Thank you for any help.
- Joe
Code Snip ---------------------------------
Public Sub PrintAll()
' Loop Through all Records and Print badges
Dim db As DAO.Database
Dim myrs As DAO.Recordset
Set db = CurrentDb()
Set myrs = db.OpenRecordset("Contacts")
If myrs.BOF And myrs.EOF Then 'IT MEANS THERE ARE NO RECORDS, WE ARE AT THE BEGINNING OF FILE AND END OF FILE
Else '
Do Until myrs.EOF 'DO UNTIL END OF RECORDSET
Call PrintAll_Badges
myrs.MoveNext
Loop
End If
myrs.Close 'Close recordset
Exit_PrintAll:
Set myrs = Nothing 'Deassign all objects.
Set db = Nothing
Exit Sub
End Sub
Public Sub BadgePrint()
' File Header
Print #1, Chr(34) & "Attendee ID" & Chr(34) & "," & Chr(34) & "First Name" & Chr(34) & "," & Chr(34) & "Last Name" & Chr(34) & "," & Chr(34) & "Company" & Chr(34) & "," & Chr(34) & "Job Title" & Chr(34) & "," & _
Chr(34) & "Attendee Type" & Chr(34) & "," & Chr(34) & "E-mail Address" & Chr(34) & "," & Chr(34) & "Business Phone" & Chr(34) & "," & Chr(34) & "Mobile Phone" & Chr(34) & "," & Chr(34) & "Fax Number" & Chr(34) & _
"," & Chr(34) & "Address 1" & Chr(34) & "," & Chr(34) & "Address 2" & Chr(34) & "," & Chr(34) & "City" & Chr(34) & "," & Chr(34) & "State/Province" & Chr(34) & "," & Chr(34) & "ZIP/Postal Code" & Chr(34) & "," & Chr(34) & _
"Country/Region" & Chr(34) & "," & Chr(34) & "Session List" & Chr(34) & "," & Chr(34) & "OS10SW1" & Chr(34) & "," & Chr(34) & "OS10SW2" & Chr(34) & "," & Chr(34) & "OS10SW3" & Chr(34) & "," & Chr(34) & "OS10SW4" & Chr(34) & "," & Chr(34) & "OS10SW5" & Chr(34) & "," & Chr(34) & _
"OS10SW6" & Chr(34) & "," & Chr(34) & "OS10SW7" & Chr(34) & "," & Chr(34) & "OS10SW8" & Chr(34) & "," & Chr(34) & "OS10SW9" & Chr(34) & "," & Chr(34) & "OS10SW10" & Chr(34) & "," & Chr(34) & "OS10SW11" & Chr(34) & "," & Chr(34) & "OS10SW12" & Chr(34) & "," & Chr(34) & "OS10SWVIRT" & Chr(34) & "," & Chr(34) & "OS10SWCISCO" & Chr(34) & "," & Chr(34) & _
"Print Code" & Chr(34) & Chr(13); Chr(34) & myrs![Attendee ID] & Chr(34) & "," & Chr(34) & myrs![First Name] & Chr(34) & "," & Chr(34) & myrs![Last Name] & Chr(34) & "," & Chr(34) & myrs![Company] & Chr(34) & "," & Chr(34) & myrs![Job Title] & Chr(34) & "," & Chr(34) & _
myrs![Attendee Type] & Chr(34) & "," & Chr(34) & myrs![E-mail Address] & Chr(34) & "," & Chr(34) & myrs![Business Phone] & Chr(34) & "," & Chr(34) & myrs![Mobile Phone] & Chr(34) & "," & Chr(34) & myrs![Fax Number] & Chr(34) & _
"," & Chr(34) & myrs![Address 1] & Chr(34) & "," & Chr(34) & myrs![Address 2] & Chr(34) & "," & Chr(34) & myrs![City] & Chr(34) & "," & Chr(34) & myrs![State/Province] & Chr(34) & "," & Chr(34) & myrs![ZIP/Postal Code] & Chr(34) & "," & Chr(34) & _
[Country/Region] & Chr(34) & "," & Chr(34) & myrs![Session List] & Chr(34) & "," & Chr(34) & myrs![OS10SW1] & Chr(34) & "," & Chr(34) & myrs![OS10SW2] & Chr(34) & "," & Chr(34) & myrs![OS10SW3] & Chr(34) & "," & Chr(34) & myrs![OS10SW4] & Chr(34) & "," & Chr(34) & myrs![OS10SW5] & Chr(34) & "," & Chr(34) & _
[OS10SW6] & Chr(34) & "," & Chr(34) & myrs![OS10SW7] & Chr(34) & "," & Chr(34) & myrs![OS10SW8] & Chr(34) & "," & Chr(34) & myrs![OS10SW9] & Chr(34) & "," & Chr(34) & myrs![OS10SW10] & Chr(34) & "," & Chr(34) & myrs![OS10SW11] & Chr(34) & "," & Chr(34) & myrs![OS10SW12] & Chr(34) & "," & Chr(34) & myrs![OS10SWVIRT] & Chr(34) & "," & Chr(34) & myrs![OS10SWCISCO] & Chr(34) & "," & Chr(34) & myrs![Print Code] & Chr(34) & Chr(13)
End Sub
Public Sub PrintAll_Badges()
Dim strDate As String
Dim strTime As String
Dim strFilename As String
strDate = Format((Date), "yyyymmdd")
strTime = Format((Time), " hhmmss")
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "00.dd"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
Call sleeper
' Check for Tickets
If myrs![OS10SW1] = True Then
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "01.sw1"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
End If
Call sleeper
If myrs![OS10SW2] = True Then
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "02.sw2"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
End If
snip
Do this for 18 other instances.
snip
End Sub
I am trying to loop through a table, "Contacts", and for each record output file(s) if it meets certain criteria. I split it into multiple Subs because it would not compile, but I do not know how to share the same recordset between the multiple Subs.
This is probably a very newbie issue, but I cannot seem to search for the correct thing to find a solution.
Thank you for any help.
- Joe
Code Snip ---------------------------------
Public Sub PrintAll()
' Loop Through all Records and Print badges
Dim db As DAO.Database
Dim myrs As DAO.Recordset
Set db = CurrentDb()
Set myrs = db.OpenRecordset("Contacts")
If myrs.BOF And myrs.EOF Then 'IT MEANS THERE ARE NO RECORDS, WE ARE AT THE BEGINNING OF FILE AND END OF FILE
Else '
Do Until myrs.EOF 'DO UNTIL END OF RECORDSET
Call PrintAll_Badges
myrs.MoveNext
Loop
End If
myrs.Close 'Close recordset
Exit_PrintAll:
Set myrs = Nothing 'Deassign all objects.
Set db = Nothing
Exit Sub
End Sub
Public Sub BadgePrint()
' File Header
Print #1, Chr(34) & "Attendee ID" & Chr(34) & "," & Chr(34) & "First Name" & Chr(34) & "," & Chr(34) & "Last Name" & Chr(34) & "," & Chr(34) & "Company" & Chr(34) & "," & Chr(34) & "Job Title" & Chr(34) & "," & _
Chr(34) & "Attendee Type" & Chr(34) & "," & Chr(34) & "E-mail Address" & Chr(34) & "," & Chr(34) & "Business Phone" & Chr(34) & "," & Chr(34) & "Mobile Phone" & Chr(34) & "," & Chr(34) & "Fax Number" & Chr(34) & _
"," & Chr(34) & "Address 1" & Chr(34) & "," & Chr(34) & "Address 2" & Chr(34) & "," & Chr(34) & "City" & Chr(34) & "," & Chr(34) & "State/Province" & Chr(34) & "," & Chr(34) & "ZIP/Postal Code" & Chr(34) & "," & Chr(34) & _
"Country/Region" & Chr(34) & "," & Chr(34) & "Session List" & Chr(34) & "," & Chr(34) & "OS10SW1" & Chr(34) & "," & Chr(34) & "OS10SW2" & Chr(34) & "," & Chr(34) & "OS10SW3" & Chr(34) & "," & Chr(34) & "OS10SW4" & Chr(34) & "," & Chr(34) & "OS10SW5" & Chr(34) & "," & Chr(34) & _
"OS10SW6" & Chr(34) & "," & Chr(34) & "OS10SW7" & Chr(34) & "," & Chr(34) & "OS10SW8" & Chr(34) & "," & Chr(34) & "OS10SW9" & Chr(34) & "," & Chr(34) & "OS10SW10" & Chr(34) & "," & Chr(34) & "OS10SW11" & Chr(34) & "," & Chr(34) & "OS10SW12" & Chr(34) & "," & Chr(34) & "OS10SWVIRT" & Chr(34) & "," & Chr(34) & "OS10SWCISCO" & Chr(34) & "," & Chr(34) & _
"Print Code" & Chr(34) & Chr(13); Chr(34) & myrs![Attendee ID] & Chr(34) & "," & Chr(34) & myrs![First Name] & Chr(34) & "," & Chr(34) & myrs![Last Name] & Chr(34) & "," & Chr(34) & myrs![Company] & Chr(34) & "," & Chr(34) & myrs![Job Title] & Chr(34) & "," & Chr(34) & _
myrs![Attendee Type] & Chr(34) & "," & Chr(34) & myrs![E-mail Address] & Chr(34) & "," & Chr(34) & myrs![Business Phone] & Chr(34) & "," & Chr(34) & myrs![Mobile Phone] & Chr(34) & "," & Chr(34) & myrs![Fax Number] & Chr(34) & _
"," & Chr(34) & myrs![Address 1] & Chr(34) & "," & Chr(34) & myrs![Address 2] & Chr(34) & "," & Chr(34) & myrs![City] & Chr(34) & "," & Chr(34) & myrs![State/Province] & Chr(34) & "," & Chr(34) & myrs![ZIP/Postal Code] & Chr(34) & "," & Chr(34) & _
[Country/Region] & Chr(34) & "," & Chr(34) & myrs![Session List] & Chr(34) & "," & Chr(34) & myrs![OS10SW1] & Chr(34) & "," & Chr(34) & myrs![OS10SW2] & Chr(34) & "," & Chr(34) & myrs![OS10SW3] & Chr(34) & "," & Chr(34) & myrs![OS10SW4] & Chr(34) & "," & Chr(34) & myrs![OS10SW5] & Chr(34) & "," & Chr(34) & _
[OS10SW6] & Chr(34) & "," & Chr(34) & myrs![OS10SW7] & Chr(34) & "," & Chr(34) & myrs![OS10SW8] & Chr(34) & "," & Chr(34) & myrs![OS10SW9] & Chr(34) & "," & Chr(34) & myrs![OS10SW10] & Chr(34) & "," & Chr(34) & myrs![OS10SW11] & Chr(34) & "," & Chr(34) & myrs![OS10SW12] & Chr(34) & "," & Chr(34) & myrs![OS10SWVIRT] & Chr(34) & "," & Chr(34) & myrs![OS10SWCISCO] & Chr(34) & "," & Chr(34) & myrs![Print Code] & Chr(34) & Chr(13)
End Sub
Public Sub PrintAll_Badges()
Dim strDate As String
Dim strTime As String
Dim strFilename As String
strDate = Format((Date), "yyyymmdd")
strTime = Format((Time), " hhmmss")
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "00.dd"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
Call sleeper
' Check for Tickets
If myrs![OS10SW1] = True Then
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "01.sw1"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
End If
Call sleeper
If myrs![OS10SW2] = True Then
strFilename = "C:\InfoSecPrint\b" & strDate & strTime & "02.sw2"
Open strFilename For Output As #1 'Open file for output.
Call BadgePrint
Close #1
End If
snip
Do this for 18 other instances.
snip
End Sub