Automate printing a list from the database with a VB Form

Posted on 2009-07-14
Last Modified: 2012-05-07
I have a form where I enter data and it goes to an SQL database.  I use the code below to place the data in the db.

Now here's my problem.  I want to bring the data back to the form so that I can print it and get a hard copy sheet for each student we have.  The problem is I would have to retrieve each record one by one into the form and then print.

Is there a quicker way to do this to automate the process or not?
esql = "select * from tblRegistration"

        rec.Open (esql), conn, adOpenDynamic, adLockOptimistic



        rec.Fields(1) = frmRegistrationTitleXX.Text1

        rec.Fields(2) = frmRegistrationTitleXX.Text2

        rec.Fields(3) = frmRegistrationTitleXX.Text3

        rec.Fields(4) = frmRegistrationTitleXX.Text4

        rec.Fields(5) = frmRegistrationTitleXX.Text5

        If Not Text6 = "(M.I.)" Then

            rec.Fields(6) = frmRegistrationTitleXX.Text6

        End If

        rec.Fields(7) = frmRegistrationTitleXX.Text7

        rec.Fields(8) = frmRegistrationTitleXX.Text8

        rec.Fields(9) = frmRegistrationTitleXX.Text9

        rec.Fields(10) = frmRegistrationTitleXX.Text10

        rec.Fields(11) = frmRegistrationTitleXX.Text11

        rec.Fields(12) = frmRegistrationTitleXX.Text12

        rec.Fields(13) = frmRegistrationTitleXX.Text13

        rec.Fields(14) = frmRegistrationTitleXX.Text14

        rec.Fields(15) = frmRegistrationTitleXX.Text15

        rec.Fields(16) = frmRegistrationTitleXX.Text16

        rec.Fields(17) = frmRegistrationTitleXX.Text17


        rec.Fields(18) = frmRegistrationTitleXX.Check1

        rec.Fields(19) = frmRegistrationTitleXX.Check2

        rec.Fields(20) = frmRegistrationTitleXX.Check3

        rec.Fields(21) = frmRegistrationTitleXX.Check4

        rec.Fields(22) = frmRegistrationTitleXX.Check5

        rec.Fields(23) = frmRegistrationTitleXX.Check6

        rec.Fields(24) = frmRegistrationTitleXX.Check7

        rec.Fields(25) = frmRegistrationTitleXX.Check8

        rec.Fields(26) = frmRegistrationTitleXX.Check9

        rec.Fields(27) = frmRegistrationTitleXX.Check10

        rec.Fields(28) = frmRegistrationTitleXX.Check11

        rec.Fields(29) = frmRegistrationTitleXX.Check12

        rec.Fields(30) = frmRegistrationTitleXX.Check13

        rec.Fields(31) = frmRegistrationTitleXX.Check14

        rec.Fields(32) = frmRegistrationTitleXX.Check15

        rec.Fields(33) = frmRegistrationTitleXX.Check16

        rec.Fields(34) = frmRegistrationTitleXX.Check17

        rec.Fields(35) = frmRegistrationTitleXX.Check18



        rec.Fields(36) = frmRegistrationTitleXX.Combo1

        rec.Fields(37) = frmRegistrationTitleXX.Combo2

        rec.Fields(38) = frmRegistrationTitleXX.Combo3

        rec.Fields(39) = frmRegistrationTitleXX.Combo4

        rec.Fields(40) = frmRegistrationTitleXX.Combo5

        rec.Fields(41) = frmRegistrationTitleXX.Combo6

        rec.Fields(42) = frmRegistrationTitleXX.Combo7

        rec.Fields(43) = frmRegistrationTitleXX.Combo8

        rec.Fields(44) = frmRegistrationTitleXX.Combo9

        rec.Fields(45) = frmRegistrationTitleXX.Combo10


        rec.Fields(46) = frmRegistrationTitleXX.Text18

        rec.Fields(47) = frmRegistrationTitleXX.Text19

        rec.Fields(48) = frmRegistrationTitleXX.Text20

        rec.Fields(49) = frmRegistrationTitleXX.Text21

        rec.Fields(50) = frmRegistrationTitleXX.Combo11


        If Not rec.EOF Then rec.MoveNext


Open in new window

Question by:al4629740
  • 2
LVL 10

Expert Comment

ID: 24866497

If you mean you want to print the actual windows 'form', then no, not really, there is not really a quicker process. (You can, but it might be a bit convoluted).

If however you want to control the formatting, etc, look at the printer object.


printer.print line1data
printer.print line2data
printer.print line3data

etc, etc

If you do this, you can iterate through _x_ number of records, and simply print them all at once.

Author Comment

ID: 24866504
printer.print line1data

Can you explain this code in laymens terms?
LVL 10

Accepted Solution

cool12399 earned 500 total points
ID: 24868936
Printer is your your printer, line1data is the text you want to print.


Printer.x = 100
Printer.y = 100
Printer.print "Hi there, what's new?"

Will print the text "Hi there, what's new?" at location 100,100 (twips) on your paper.
Experiment with the locations to figure out the spacing, and you are set.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

896 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now