Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Create and Print Invoices as Data Report

0.00/5 (No votes)
20 Mar 2009 3  
ActiveX to display invoice in grid and edit it, print invoices as Data Report using VB6

img53.JPG

img059.JPG

img058.JPG

img057.JPG

Introduction

This ActiveX control is a powerful tool to help you create and print invoices as Data Report. Now you can preview and print invoices by one touch. This ActiveX control has two versions, one to use in the English language (its name is "EInvoice" and another to use in the Arabic language (its name is "AInvoice"). The two controls are the same when using its properties and methods.

You use this ActiveX control in your application by adding it to a form and setting its properties. At design time, my ActiveX control is displayed as an icon on a form, this icon can't be sized. The control is invisible to the user at run time (as CommonDialog control and Timer control).

With my ActiveX, you can:

  • Add new invoice
  • Edit current invoice
  • Delete current invoice
  • Find invoice by order number or by customer name
  • Preview and print current invoice or all invoices of current customer
  • Export current invoice or invoices of current customer to HTML file
  • Click ActiveX control by right button of mouse you can get custom properties

Background

My ActiveX "Invoice Designer" EInvoice or AInvoice depends on table's name and field's name as shown in the following table:

Table name Field name
Orders OrderID
CustomerID
EmployeeID
OrderDate
RequiredDate
Freight

Customers

CustomerID
CompanyName
City
Phone
Employees EmployeeID
FirstName
LastName
Products ProductID
ProductName
Order Details OrderID
ProductID
UnitPrice
Quantity
Discount

So, if you build a new database file and want to use my ActiveX control, be sure that your database file includes tables with the same name and your tables include fields which have the same name as you see in the above table.

Don't worry I don't tie your hand, of course you can add other tables and other fields to your database file but you must keep to the table's name and the field's name as given in the above table.

My ActiveX control has one method and twenty one properties. You can read about the method and two properties in the following table. The other properties are in the help file after you download and extract the file "Invoice.zip".
 

Method/Property Definition Example
ViewInvoice Display invoice (order by customer name) EInvoice1.ViewInvoice (in English) or,
AInvoice1.ViewInvoice (in Arabic)
InvoiceDatabaseFile Set path and name of database file EInvoice1.InvoiceDatabaseFile = App.Path + "\" + "MyMarket.mdb"
InvoiceTitle Set the title of invoice EInvoice1.InvoiceTitle = "International Food Company"

Using the Code

After you set some properties, you can display the invoice:

EInvoice1.ViewInvoice ' if using "EInvoice" control for English language.
AInvoice1.ViewInvoice ' if using "AInvoice" control for Arabic language.

Remarks

After you download the file Invoice.zip and extract it, you find:

  • Folder MyActiveX includes EInvoice control, AInvoice control and help file explains everything
  • Folder prjEN includes project to test the free trial version EInvoice control
  • Folder prjAR includes project to test the free trial version AInvoice control

Last Words

I hope my ActiveX is useful. This tool is for personal use only and not for public use, you can use it for your own projects. Thanks to The Code Project and thanks to all.

History

  • 20th March, 2009: Initial post

Mostafa Kaisoun
M_Kaisoun@hotmail.com

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here