Special Edition Using Microsoft Office Access 2003

Data Source Problems

A "Microsoft Web Components could not open the database C:\Path\FileName.mdb" message appears when I try to open a page from another machine on the network.

The most likely cause of this problem is that you forgot to change the ConnectionString property for the Jet 4.0 data source of the page from the default well-formed path to the UNC \\ServerName\ShareName\FileName.mdb format. On the design computer, open the page in Design view, right-click the page, and choose Page Properties. Click the Data tab, select the ConnectionString property, and press Shift+F2 to open the connection string in the Zoom box. Change the DataSource= element of the connection string to the UNC path to the share and file.

Another possibility is that the UNC connection string is invalid or the user doesn't have read or read/write permissions for the share. In this case, check the capability of the client to browse the ShareName folder named in the error message.

Parameter Naming and Cookie Parsing Problems

When I click the link on the navigation page to open a page that requires a query parameter value, the Enter Parameters dialog opens.

The name that you supplied as the first (parameter name) argument of the MSODSC.RecordsetDefs("QueryName").parametervalues.Add method statement doesn't match the name specified in the query design grid. If you're query expects a conventional input parameter, open the query in Design view, copy the [ParameterName] element to the Clipboard, and paste it into the Script Editor. (Don't forget to add the surrounding double-quotes.)

When I click the link on the navigation page to open a page that requires a query or filter parameter value, the page opens with an empty Recordset.

The most likely cause of this problem is an error in the length argument of the mid function used to parse the cookie. For example, if you substitute 9 or less for 10 in the lngLastOrder = Mid(strCookie, InStr(strCookie, "LastOrder=") +10) statement, the parameter value passed to the query or filter begins with =, which is invalid for a date value. Count the number of characters in the name element of the cookie carefully to ensure that you're passing the correct value to the parameter.

If the preceding issue isn't the problem, temporarily add a message box (MsgBox) statement with the variable name as the Prompt argument. For example, to check what the preceding line of script returns, add a MsgBox lngLastOrder statement after the line. When you've diagnosed the problem, add an apostrophe (') in front of msgbox to comment out the statement. It's also a good idea to add a temporary MsgBox strCookie statement to check the crumbs while debugging your cookie-parsing code.

Категории