Errata

Access Cookbook

Errata for Access Cookbook

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page 1
FIRST PARAGRAPH

I am compiling the cookbook. I get the following errors when compiling with Eclispe.
Please note; I am new to JAVA and am using the book as a self training book. I am
compiling on a windows XP machine. Java jdk 1.5

Buildfile: C:workspacejavacooksrc2darwinsysuild.xml
init:
build-core:
build-macosx:
build-regress:
[javac] Compiling 25 source files to C:workspacejavacooksrc2darwinsysuild
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:5:
package com.apple.eawt does not exist
[javac] import com.apple.eawt.Application;
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:6:
package com.apple.eawt does not exist
[javac] import com.apple.eawt.ApplicationEvent;
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:7:
package com.apple.eawt does not exist
[javac] import com.apple.eawt.ApplicationListener;
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:14:
cannot find symbol
[javac] symbol: class Application
[javac] public class MacOSAppAdapter extends Application {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:15:
cannot find symbol
[javac] symbol : class ApplicationListener
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] ApplicationListener appListener;
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:60:
cannot find symbol
[javac] symbol : class ApplicationListener
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] class MyAppEventHandler implements ApplicationListener {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:63:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handleAbout(ApplicationEvent event) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:69:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handlePreferences(ApplicationEvent event) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:75:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handlePrint(ApplicationEvent event) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:82:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handleQuit(ApplicationEvent event) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:91:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handleOpenApplication(ApplicationEvent arg0) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:99:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handleOpenFile(ApplicationEvent arg0) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:107:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handlePrintFile(ApplicationEvent arg0) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:115:
cannot find symbol
[javac] symbol : class ApplicationEvent
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter.MyAppEventHandler
[javac] public void handleReOpenApplication(ApplicationEvent arg0) {
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:37:
cannot find symbol
[javac] symbol : method setEnabledAboutMenu(boolean)
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] setEnabledAboutMenu(true);
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:38:
cannot find symbol
[javac] symbol : method addAboutMenuItem()
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] addAboutMenuItem();
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:43:
cannot find symbol
[javac] symbol : method setEnabledPreferencesMenu(boolean)
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] setEnabledPreferencesMenu(true);
[javac] ^
[javac]
C:workspacejavacooksrc2darwinsyssrccomdarwinsysmacosuiMacOSAppAdapter.java:44:
cannot find symbol
[javac] symbol : method addPreferencesMenuItem()
[javac] location: class com.darwinsys.macosui.MacOSAppAdapter
[javac] addPreferencesMenuItem();
[javac] ^
[javac] Note:
C:workspacejavacooksrc2darwinsyssrc egressArrayListTableSimple.java uses
unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 18 errors

BUILD FAILED
C:workspacejavacooksrc2darwinsysuild.xml:54: Compile failed; see the compiler
error output for details.

Total time: 1 minute 8 seconds

Anonymous   
Printed Page 18-19
Solution Item #3

Anonymous   
Printed Page 18

The field to be updated in qryUpdateAlbumPrices should be [PurchasePrice] not
[AlbumID]. The instruction in the last sentence should read "...drag the
PurchasePrice field from tblAlbums to the query grid. The field settings for
PurchasePrice are shown in Table 1-4."

Anonymous   
Printed Page 19
Change the Field reference to [PurchasePrice] in Table 1-4.

Anonymous   
Printed Page 25
2nd paragraph

mintCutoff should read gintCutoff

Anonymous   
Printed Page 80
Eighth paragraph (Numbered 10)

'Private' is repeated in the code.

Anonymous   
Printed Page 81
Eleventh paragraph (Numbered 13)

If importing basMovement module into Access 2000 or 2002 from 02-06.MDB, check that
Access DAO library references are correctly set, otherwise module hangs at 'Dim rst
as DAO.Recordset' statement in 'Public Sub acbHandleCurrent(frm As Form)' procedure.

Open the module, click Tools > References on the Module Menu toolbar.
In the Available References box, clear the check box for Microsoft ActiveX Data
Objects 2.1 Library (or similar) and select the check box for Microsoft DAO 3.6
Object Library.

Ref: 'Troubleshoot Converting an Access File' in Access 2002 Help.

Anonymous   
Printed Page 91
Point 5: Code begins: varRetval = ......

If you look at the code behind the form then close down the code windown and open up
the form in form view: typing in text into the text box produces Run Time Error 13
(Type Mismatch). There does not appear to be any reason for this.

varRetval = acbDoSearchTable(Me!txtCompany, _
Me!lstCompany, "Company Name", "Company Name")

'is highlighted as the offending code.

Importing this code into an Access 2000 database constantly gives rise to an error
message after entering text into the text box txtCompany.

Anonymous   
Printed Page 102
In the code for GetRelativeCoords

The code comments imply incorrectly that the returned coordinates are in twips. The
returned coordinates appear to be in pixels. Also, in acbRestoreSize on page 103,
lngWidth and lngHeight are declared as type Integer. This shouldn't pose a problem,
as most people don't have screens larger than 32,767 pixels, but for coherency it
would probably be best to declare these as type Long.

Anonymous   
Printed Page 217
4th paragraph, first word

The word "You've" is missing the apostrophe. (February 2002 printing)

Anonymous   
Printed Page 402
5th paragraph

9.6 Create a Combo Lbox that accepts new entries

The solution provided in the CD doesn't work (at least in my computer).
When a new abbreviation is typed, the AddState form opens blank.

Anonymous   
Printed Page 450
Final paragraph

The text says the reader can 'test-drive this solution by sending a message to
yourself'.
Not with the samply on my CD you can't!
The query qryNewMail in my sample has "Jean" in the Criteria row for tblMessage.To.
In this state, unless I create a new WorkGroup containing a user "Jean" and then log
on as "Jean", I will never see any messages sent to me.

(The text that describes implementing the technique in your own database correctly
describes - on P. 453 - the correct creation of the required query with CurrentUser()
in the Criteria for tblMessage.To.)

Anonymous   
Printed Page 456
Code of acbCheckMail() Function

The part of the function that opens and handles the rstClone recordset is badly
written and will always fail when the Recordset is empty.
It is fundamental to the use of such Recordsets in code that the code checks to see
whether the Recordset is empty BEFORE attempting to manipulate it.
The error in this function is simple to fix - but it provides a very bad example for
anybody attempting to write similar code in the future.
The section of code:
Set rstClone = frmMail.RecordsetClone
rstClone.MoveFirst
If Not rstClone.EOF Then
frmMail.Caption = "New Mail!"
If acb_apiIsIconic(frmMail.Hwnd) Then
frmMail.SetFocus
DoCmd.Restore
End If
Else
frmMail.Caption = "No mail"
End If

Should be written:
Set rstClone = frmMail.RecordsetClone
If Not rstClone.EOF Then
rstClone.MoveFirst
frmMail.Caption = "New Mail!"
If acb_apiIsIconic(frmMail.Hwnd) Then
frmMail.SetFocus
DoCmd.Restore
End If
Else
frmMail.Caption = "No mail"
End If

Anonymous   
Printed Page 509
2nd code example, acb_apiShellExecute() function

The examples of acb_apiShellExecute() should use file names which include embedded
spaces. Using a string variable alone will not work.

Thus,

sSomeFileName = "abc def.doc"

will NOT work for the file name, or similarly for the directory parameters, in the
function call.

But this will:

sSomeFileName = chr$(34) & "abc def.doc" & chr$(34)

Anonymous   
Printed Page 598
Heading 12.8

I run the code in the suppplied database and my outlook hangs. I get the message
displayed, but when I hit the send button all I get is the hourglass, then eventually
a message that states that outlook is not responding. It doesn't matter wether I
have outlook open or not. I can't seem to work around this problem.

I am Using Access 2000, Office 2000, Outlook 2000 and my operating system is Windows
2000.

Anonymous