![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
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!
Listing 23.8 Command Button Click event procedure for the Invoices form. Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Save invoice button. Hide the grid then hide the form. DataGridItems.Visible = False InvoiceNumber = 0 Hide Case 1 Add wine to invoice button. If txtCustPO.Text = Then MsgBox (Customer PO required.) txtCustPO.SetFocus Exit Sub End If Create a new Item. AdodcItems.Recordset.AddNew If a new invoice has not been created, then create a new record in the Invoices table. If InvoiceNumber = 0 Then CreateNewInvoice (0) Put the invoice number in the text box that is bound to that field in the Items table. txtInvNumber.Text = InvoiceNumber Call AddWine function, which returns True if the user selects a wine, False if they Cancel. If AddWine() Then If a wine was selected Update the table and refresh it to include only items that are part of the current invoice. AdodcItems.Recordset.Update AdodcItems.RecordSource = _ Select * from Items where InvNo = _ & txtInvNumber.Text AdodcItems.Refresh Make the DataGrid visible and refresh it. DataGridItems.Visible = True DataGridItems.Refresh Else If the user canceled entry of a wine, cancel the new record. It is necessary to temporarily disconnect the DataGrid from the ADO Data control to prevent an error. Set DataGridItems.DataSource = Nothing AdodcItems.Recordset.CancelUpdate Set DataGridItems.DataSource = AdodcItems End Case 2 Cancel new invoice. If the user cancels the entire invoice. If InvoiceNumber <> 0 Then InvoiceNumber = 0 Delete new records from the Items table. AdodcItems.Recordset.Filter = adFilterFetchedRecords AdodcItems.Recordset.Delete adAffectGroup DataGridItems.Visible = False Delete new record from the Invoices table. CreateNewInvoice (InvoiceNumber) End If Hide End Select End Sub The final procedure that you need is the AddWine function, which links code in the Invoices form to the Select Wine form. This function, shown in Listing 23.9, is called by code in the Command1_Click event procedure when the user clicks the Add Wine button. It displays the Select Wine form by executing its Show method. The form is displayed modally by passing the argument 1 to the Show method, which means that the user cannot interact with any other forms until this |