Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Visual Basic 6 Programming Blue Book: The Most Complete, Hands-On Resource for Writing Programs with Microsoft Visual Basic 6!
(Publisher: The Coriolis Group)
Author(s): Peter G. Aitken
ISBN: 1576102815
Publication Date: 08/01/98

Bookmark It

Search this book:
 
Previous Table of Contents Next


Listing 23.4 Modified ButtonClick event procedure for the Toolbar.

Private Sub Toolbar1_ButtonClick(ByVal Button As Button)

Dim Reply As Integer

Select Case Button.Caption
    Case “Customers”
        frmCustomers.Show
    Case “Wines”
        frmWines.Show
    Case “Orders”
        frmInvoice.txtCustPO.Text = “”
        frmInvoice.txtDate = “”
        frmInvoice.Command1(0).Enabled = False
        frmInvoice.Command1(1).Enabled = False
        frmInvoice.Show
    Case “Exit”
        Reply = MsgBox(“Quit program - are you sure?”, _
                vbYesNo + vbQuestion, “Quit?”)
        If Reply = vbYes Then End
End Select

End Sub

Only a few lines of code are executed when the user clicks on the Orders button. The first code line clears the txtCustPO and txtDate Text Boxes. The captions that you placed in those Text Boxes were intended only to help identify the controls during program design, and are not needed during program execution. Two of the Command Buttons are disabled, and then the final line displays the Invoices form that you just designed.

You have plenty more to add to this form, but you’ve gone far enough at this point to test the form to see how the DataList control works. Start the program and click on the Orders button on the Toolbar. The form that you just created appears, and a list of customers is displayed in the DataList control. Click on a company name, and its CustID is displayed in the Immediate Window. This is how you obtain the CustID for the Invoices record; remember that CustID is the field that links the Customers and the Invoices tables.

Connecting To The Items Table

The form needs a connection to the Items table, of course, and you use another ADO Data control for this purpose. Add the ADO Data control and set its properties as follows:

Name: AdodcItems
Caption: Items
Visible: False
RecordSource: Select * from Items

Again, set the control’s ConnectionString property to point to the GRAPEVINE database. Now you need three Text Box controls to be bound to the fields in the Items table (the fourth field, ItemNo, is automatically generated by the database engine, because it was defined as an AutoIncrement field). Add the following Text Box controls to the form:

For the Quantity field:

Name: txtQuantity
DataSource: AdodcItems
DataField: Quantity
Visible: False

For the InvNo field:

Name: txtInvNumber
DataSource: AdodcItems
DataField: InvNo
Visible: False

For the StockNo field:

Name: txtStockNo
DataSource: AdodcItems
DataField: StockNo
Visible: False

The Visible property for all of these Text Boxes is set to False, because the user doesn’t need to see them—they are used only as temporary storage locations for data that is being put in the Items table. You will soon see how this is done.

One more thing related to the Items table needs to be discussed. When the user starts a new invoice and begins selecting wines, you want to display a list of the wines (items) that have already been selected. The ideal control for this purpose is the DataGrid control. Add a DataGrid control to the Invoices form, along the bottom edge, and set its properties as follows:

Name: DataGridItems
Align: 2 - vbAlignBottom
DataSource: AdodcItems
Caption: Items Selected

At this stage your Invoices form will look like Figure 23.1.

The next task is to create the form that will allow the user to select wines to add to an invoice.

The Select Wine Form

After the Invoices form is displayed and the user has started a new invoice by selecting a customer, you need a way to select the individual wines that make up the order. For each wine, you need the quantity and the stock number to insert into the Items table. (The other two fields in this table are the item number (ItemNo), which is automatically generated by the database engine, and the invoice number (InvNo), which is obtained from the Invoices table.) To select a wine, use the same technique that you used earlier: allow the user to select from a list. You’ll again use the DataList control, to display the Description field from the Wines table and provide the Stock Number of the selected wine.


Figure 23.1  The Invoices form during program design.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement.