Topic: Visual Basic

Beginning VB.NET Databases (0764568000) cover image

Beginning VB.NET Databases

Thearon Willis
ISBN: 978-0-7645-6800-8
768 pages
October 2004
This title is out-of-print and not currently available for purchase from this site.

Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
16-18 Error in Figure 1-7
Table 1-7 shows the data type for GroupID and ProjectID as Text fields.

The database is ProjetTimeTracker.mdb.

On page 15 figure 1-6 shows the data type as Number.

It actually has to be a number because relationship with the tables can't otherwise be formed.
17 GroupProjects Table
The instructions for creating the GroupProjects table in the ProjectTimeTracker.mdb database give 'Text' as the data type for both the GroupID and ProjectID fields. These need to be 'Numeric' (Replication ID).
23 MIssing relationship
One row of relationships missing: Cols Primary Key Table="Projects", Primary Key="ProjectID", Foreign Key Table="TimeSheetItems", Foreign Key="ProjectID". The addition of this row will then agree with the relationships in Fig 1-8, pg 20, and with the script in Step 4, pg 27.
58 Error in Code

In the LoadSpecificDataSet, three lines of code are wrong. There should be no spaces in the column names of the Products table.

These lines read: (each on one line)
ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("Product Name").ColumnName, 150, HorizontalAlignment.Left)

ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("Product Description").ColumnName, 200, HorizontalAlignment.Left)

ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("Unit Price").ColumnName, 60, HorizontalAlignment.Right)
and Should read: (each on one line)
ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("ProductName").ColumnName, 150, HorizontalAlignment.Left)

ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("ProductDescription").ColumnName, 200, HorizontalAlignment.Left)

ListView1.Columns.Add( Me.ProductsDS1.Tables("Products").Columns("UnitPrice").ColumnName, 60, HorizontalAlignment.Right)
99 Extra space in code
The code line reads: ".Filter = "Access Database (*.mdb) | *.mdb |" this does not work because of the trailing space after "*.mdb".
265 Error in Code
On page 265 (and again on 269) the example code shows the bytIV variables as being declared and initialized to a 25 character string with a leading space before the "r".

There should not be a leading space.
Appendix B 638 Wrong Form Size in Step 6
Step 6 says to set the form size to 760,510.

The Form size should actually be 760,530. If set to the first size, there will be no room to display the Label "Update Date" and textbox.
658 Step #111
The instruction reads that a ListView control should be dragged from the toolbox and dropped on pnlProjects. It should be pnlRoles.
681 Error in Step 2
A variable is missing for NavigationPanel_MouseEnter event. Private imgCurrentNavImage As Image needs to be entered in step 2 in the text only. The code download is correct.
Appendix B 682 Missing Line under "pnlGroups" Case Statement
The code on page 682 should be read as the following :
Select Case objControl.Name
  Case "pnlProjects"
    strActiveScreen = "Projects"
    lblCurrentScreen.Text = "Projects"
    lblAllScreens.Text = "All " & "Projects"
    imgScreen.Image = ImageList1.Images(ImageProjects)
    lblScreen.Text = "Projects"
    optOption1.Text = "Name"
    optOption2.Text = "Description"
    optOption3.Text = "Sequence Number"
    optOption3.Checked = True
    optOption4.Text = "Date"
  Case "pnlGroups"
    strActiveScreen = "Groups"
    lblCurrentScreen.Text = "Groups"
    lblAllScreens.Text = "All " & "Groups"
    imgScreen.Image = ImageList1.Images(ImageGroups)
    lblScreen.Text = "Groups"
    optOption1.Text = "Name"
    optOption1.Checked = True
    optOption2.Text = "Description"
    optOption3.Text = "Date"
    optOption4.Visible = False
  Case "pnlGroupProjects"
    strActiveScreen = "Groups Projects"
    lblCurrentScreen.Text = "Group Projects"
    lblAllScreens.Text = "All " & "Group Projects"
    imgScreen.Image = ImageList1.Images(ImageGroupProjects
    lblScreen.Text = "Group Projects"
    optOption1.Visible = False
    optOption2.Visible = False
    optOption3.Visible = False
    optOption4.Visible = False
  Case "pnlRoles"
    strActiveScreen = "Roles"
    lblCurrentScreen.Text = "Roles"
    lblAllScreens.Text = "All " & "Roles"
    imgScreen.Image = ImageList1.Images(ImageRoles)
    lblScreen.Text = "Roles"
    optOption1.Text = "Name"
    optOption2.Text = "Description"
    optOption3.Text = "Ranking"
    optOption3.Checked = True
    optOption4.Text = "Date"
  Case "pnlUsers"
    strActiveScreen = "Users"
    lblCurrentScreen.Text = "Users"
    lblAllScreens.Text = "All " & "Users"
    imgScreen.Image = ImageList1.Images(ImageUsers)
    lblScreen.Text = "Users"
    optOption1.Text = "Login"
    optOption2.Text = "Name"
    optOption2.Checked = True
    optOption3.Text = "Email"
    optOption4.Text = "Status"
End Select
Appendix B 684 Error in Appendix B
Appendix B in the Private Sub Navigate(....) the last two lines do not belong: 'Save the new active screen name strActiveScreen = Shortcut. The shortcut contains the pnl.... not the strActiveScreen name. That functionality is handled by the strActiveScreen = ... in the Private Sub DockPanel() -- That functionality was noted in the Erratta Appendix B 682 Line under "pnlGroups" Case statement....Again Note that the downloaded Code is OK.
691-92 Steps 19 through 23
Each step calls for a call to the Navigate procedure. Example: Call Navigate("Roles"). In all cases the provided parameters are incorrect. "Projects" should be "pnlNavProjects", "Groups" should be "pnlNavGroups", "Group Projects" should be "pnlGroupProjects", "Roles" should be "pnlNavRoles", and "Users" should be "pnlNavUsers".