Errata for "Access 2 Power Programming" (Que, ISBN 1-56529-763-6)

Please send any additional corrections or comments to the author:

        Chris St. Valentine
        PO Box 2411
        Redmond, WA 98073
        CompuServe: 72702,724

Page    Comment
-----   ---------------------------------------------------------------------
Inside front cover
        The fourth line contains a typo, "the the"; delete one "the".
6       The third bulleted item lists keyboard keys (Ctrl, Shift, and so
        on). These keys should appear in small caps.
8       The Note should read "2MB", not "2M".
9       In the next to the last line, there should be a space between the
        area code and the phone number.
16      The first sentence in the last paragraph should end with "strengths",
        not "strength".
17      In the first paragraph under "Relational Database", delete "As you
        have seen".
18      The next to the last and last paragraphs refer to invoices and an
        Invoices table. These should instead be references to orders and an
        Orders table.
23      The first paragraph following figure 1.9 reads "...data unique to an
        agency." It should read "...data unique to one agency."
27      Figure 1.13 should include a line connecting the RoomID column in the
        Rooms table with the ID column in the RoomCodes table.
44      The third bulleted item refers to 5M and 23M; these should instead be
        references to 5MB and 23MB.
45      The first bulleted item refers to 1M of free disk space; this should
        instead be a reference to 1MB of free disk space.
72      Delete the last sentence in the first paragraph ("They also apply to
        all users...").
79      The second sentence in the first paragraph following "First Weekday"
        should begin "For example, the first day of the week..."
102     Item 2 refers to HOMECODE.MDB; it should instead refer to 
        HOMEDATA.MDA.
137     Item 3 refers to "...a temporary table name, Query1." It should
        instead refer to "...a temporary query name, Query1."
139     The first paragraph following figure 7.2 states, in part, "an
        arrowhead that points to the table whose records..." It should
        instead state that the arrowhead points away from the table whose
        records will be returned.
142     The last sentence in the first paragraph at the top of the page
        should read, "To move a column in the QBE grid, select and
        highlight the column by clicking the field selector; click the 
        field selector a second time and then drag the field to its new
        position."
143     Delete the first sentence at the top of the page; this was intended
        to be a margin note.
149     In the SQL statement for the Agents by Name Qry query, delete the
        blank line.
158     The Tip at the bottom of the page should end with "...before you
        release the mouse button atop the form."
159     The first paragraph at the top of the page ends "...click ENTER." It
        should instead end "...press Enter."
165     The third paragraph following the Tip refers to a white space
        measurement of 0.06 inches. It should instead refer to a white space
        of 0.08 inches.
166     The Tip also refers to 0.06 inches of white space that should
        instead refer to 0.08 inches (two occurrences).
169     Item 2 refers to clicking Ctrl+C; it should instead refer to pressing 
        Ctrl+C.
170     Item 4 also refers to clicking (Ctrl+V); it should refer to pressing.
172     The second sentence in the first paragraph at the top of the page
        refers to the Load event; it should instead refer to the OnLoad
        property.
173     The See Also refers to the CSVGoToRecord() function; it should read
        the csvGoToRecord() function.
175     The Tip refers to 0.06 inches of white space; it should instead refer
        to 0.08 inches.
182     Under Using and Avoiding Macros, there are two exceptions. Instead,
        there should be three exceptions. The third exception should read,
        "To create custom menu bars for forms and reports
182     The See Also reads "To add macros to menu bars..."; it should instead
        read, "To add macros for menu bars..."
185     The Tip ends with "...to the name of macro."; it should instead end
        with "...to the name of the macro."
194     Item 3 refers to a form named Agents by Agency; instead, it should
        refer to a report, not a form.
212     The Tip ends with "...in order to prevent tabbed dialogs."; delete
        this text.
213     The fourth paragraph under Setting the Initial Focus refers to Alt+D;
        it should instead refer only to the leter "D" (no Alt).
215     Figure 11.3 was inadvertently cropped during production; the figure
        should show the main menu form centered horizontally, but slightly
        above the vertical center.
218     Figure 11.5 should illustrate a form whose border has been set to
        none; this would produce a form with no title bar.
231     The callout for figure 13.3 points to the DecimalPlaces property
        setting; it should instead point to the inputMask property setting.
246     The sentence immediately preceding figure 14.10 refers to the About
        command; it should instead refer to the About HomeFinder command.
262     The first sentence following Designing the QBF Form ends with
        "...from the drop down list." Delete this text.
267     The bottom of figure 16.12 includes a text box for the earliest
        year built; the default value reads 1900. It should instead read
        1980.
268     The code appearing at the bottom of the page was based on code copied
        from the SQL window and formatted for Access Basic. Access does not
        add the recommended brackets ([]) and the bang operator (!). For each 
        reference to a field or control, you should add these elements. For
        example, the line containing the City should read:

        W = W & "City = '" & Me![City] & "'"

269     The line of code immediately following the first paragraph at the top
        of the page should also include the bang operator and brackets.
271     The sentence following the See Also reads, in part, "In the
        Declarations section of the form's code module...". It should read,
        "In the Declarations section of the QBF form's code module..."
272     The second paragraph following the Tip introduces figure 16.14.
        Delete the first sentence and the figure (figure 16.14 is the same as
        figure 16.12).
276     The first paragraph twice refers to choosing a table or query name;
        it should instead refer to choosing a query or table name (I
        recommend choosing quesries over tables).
301     Along the bottom of the page is a line that reads, "MsgBox Msg, Icon,
        Titlebar". Delete this line.
306     The See Also refers to new coding techniques; the preceding code does
        not use any "old" techniques. Delete the See Also.
307     Delete this See Also, too. The preceding procedure does not include
        any "old" techniques.
308     Delete this See Also, too.
309     The last sentence in the paragraph following Clear Command Buttons
        refers to clicking the Del key; it should instead refer to pressing
        the Del key.
313     About halfway down the page is a comment that reads, "Handle the
        joins, if any." On the accompanying disk, this function (and the
        comment) appears in the csvQBF module. On the disk, however, the
        comment says "UNDONE". In fact, the code is complete in both the
        book and on the disk.
314     In the middle of the page is a comment that reads, "Parse the WHERE
        clause and look for ambiguous references. UNDONE" This comment also
        appears in the csvQBF module. I'm embarrassed that this passage
        slipped by me and the publisher, and that the csvQBF module also
        includes this comment and the commented lines that appear after the
        comment. As I write these corrections (Aug-21-94), I am away from my 
        production machine and don't have access to the original code and 
        thus cannot post the correction (I don't want to try reciting from
        memory). However, the relevant block of code has effect only when 
        there are ambiguous (duplicate) field names in the clause. For most 
        queries, this won't be a problem. I will post the correct code as 
        soon as I can.
314     A bit past halfway down the page is a comment that reads, "Parse and
        then build the ORDER BY clause. UNDONE". This comment also appears
        on the disk in the csvQBF module. Delete the word "UNDONE", since
        the routine that follows the comment is, in fact, done.
322     Delete the See Also.
338     The next-to-the-last table entry for Field Names (check box) shows
        the property as "Name FieldNames", with no setting in the third
        column. Move the "FieldNames" over to the third column.
357     Immediately preceding Controls is a line that reads "Avoid special
        characters when you define field names." This was intended to be a
        margin note; delete this line.
358     The last paragraph ("Although Forms!Customers!State...) should appear
        immediately after the Tip on the next page (page 359).
359     In the Tip, the second example includes the comment that it is 
        missing brackets. In fact, however, it is not missing brackets;
        delete the "Missing brackets".
387     The second paragraph following Printers states that you should select
        the A4 paper size. you should, in fact, select the Letter paper size.
390     The third sentence in the first bulleted item following figure 18.15
        should read, "Try to avoid creating raised surfaces..." Delete the
        next sentence that begins, "For example, raised frames..."
390     Delete figure 18.16.
394     The line of code following the Note should include the line
        continuation character itself, not "[IconCont]" (this is a
        production directive to the publisher that instructs them to insert
        a bitmap).
416     In item 8, the second line of the csvFillReportNames() function
        shows two line continuation characters; delete the second one.
419     Figure 19.15 includes a production directive that instructs the 
        publisher to typeset the figure. Delete this text.
433     Figure 19.28 illustrates property settings for a control named
        "L - Title". The control is, in fact, named "TitleLbl".
452     The second sentence following Remarks should begin, "In a macro, if
        you enter an expression, you must..."
454     The first sentence following ApplyFilter reads, "...to both filters
        and sort..."; it should insttead read "...to both filter and sort..."
462     Figure 20.7 should have been cropped to include only the message box.
470     The sentence immediately preceding SelectObject refers to clicking
        the F9 key; it should instead refer to pressing the F9 key.
474     The Case Study refers to clicking Ctrl+F4; it should instead refer to
        pressing Ctrl+F4.
479     The sentence following the Tip refers to pressing either the Design
        or Open button; it should instead refer to clicking one of these
        buttons.
481     In the sentence immediately preceding OpenReport, change "pressing" 
        to "clicking".
483     In the sentence immediately preceding Restore, change "pressing" to
        "clicking.
509     The icons for table 20.3 are inccurate. Search Help for "MsgBox" to
        see what the icons are supposed to look like.
532     The csvDeleteAllRecords() function is missing two lines of code that
        will otherwise suppress a warning message. The code should read like
        this:

        :
        DoCmd SetWarnings False ' <-- Add this new line.
        DoCmd RunSQL "DELETE * FROM " & MyTableName & ";"
        DoCmd SetWarnings True  ' <-- Add this new line.
        :

554     Delete the See Also at the top of the page. The preceding code does
        not include any "old" techniques.
587     The fourth line of code from the bottom of the page contains three
        quotation marks. it should instead look like this:

        :
        Const USERDEFINED = "user-defined error"
        :

590     The csvValidState() function contains a faulty constant declaration.
        The second constant should look like this:

        :
        Const FUNCTIONNAME = "csvValidState()"
        :

592     The first constant for the csvWindowPosition() function is missing a
        trailing quotation mark and should look like this:

        :
        Const FUNCTIONNAME = "csvWindowPosition()"
        :

593     The first constant for the csvWindowsColor() function is faulty and
        should look like this:

        :
        Const FUNCTIONNAME = "csvWindowsColor()"
        :

604     The third paragraph following the Note contains a sentence that
        includes, in part, "(in this example, CSV)". Delete this text.
604     The first sentence following Removing Permissions for the Admin User
        Account includes, in part, "(CSV)". Delete this text.
611     The second line of the csvCreateGroup() function should include the
        line continuation character itself, not "[IconCont]".
615     The caption for figure 22.17 should read "Unprotected databases may
        be viewed with file-editing utilities."
626     In the middle of the page, the syntax line for the CompactDatabase
        method incorrectly lists an argument named "ocale"; it should
        instead be "locale".
627     At the top of the page in the Comments column, the third paragraph
        refers to "DBVERSION20"; it should instead refer to "DB_VERSION20".
629     The second line of the csvCompactDatabase() function should include
        the line continuation character itself, not "[IconCont]".
642     The arguments for the csvCreateSolidBrush() function include "COLOR".
        This argument should instead be "MyColor".
643     The arguments for the csvFloodFill() function include "crCOLOR".
        This argument should instead be "MyColor".
649     The arguments for the csvSetTextColor() function include "crCOLOR".
        This argument should instead be "MyColor".
649     The arguments for the csvSetVoiceNote() function include "Length".
        This argument should instead be "NoteLength".
650     Following the declaration for the csvWritePrivateProfileString()
        function is a line, "API Subroutine Declarations". This line should 
        be a heading. The following four lines should be set as regular text.
651     The arguments for the csvSetBkColor sub procedure include "crCOLOR".
        This argument should instead be "MyColor".
Inside back cover
        Step 2 refers to choosing OK. This should instead refer to clicking
        the OK button.

Additional Notes for Installing the Disk Files

        Early versions of the diskette require you to have a directory named
        \temp on drive D, and installation fails if the drive or directory
        doesn't exist.

        If you don't have a drive D, you can mimic drive D: 

        1. Exit Windows.
        2. At the C:> prompt, enter the SUBST command, as shown here:
        
           C:>SUBST D: C:\ <enter>

        3. Restart Windows and install the disk files following steps 1
           through 6 listed in the book.
        4. Exit Windows and delete drive D, as shown here:
        
           C:>SUBST D:/D <enter>
           
Additional Notes About the Disk Files

        Early versions of the diskette contain a faulty About form. In the 
        background is an OLE object frame that is supposed to contain a 
        monochrome Paintbrush picture of a house. Somehow, the original 
        bitmap was deleted from the form, although the object frame remains 
        intact. When superimposed on the mono picture, the yellow letters 
        look okay; if your copy of the disk contains the faulty form, paste 
        one of the pictures in the \homefind\images directory to the form.

<end of errata for "Access 2 Power Programming">
