Your SlideShare is downloading. ×
0
Microsoft Access as an ODBC Client Application A Presentation for the Microsoft Access SIG of the North Texas PC User Grou...
What is Access?  <ul><li>“ A nice little desktop database” </li></ul><ul><li>First popular Windows database </li></ul><ul>...
Access can build <ul><li>A standalone database </li></ul><ul><li>A multi-user database </li></ul><ul><li>A client linked t...
Specifically  <ul><li>Microsoft Access 2, 97, 2000 </li></ul><ul><li>.MDB or .MDE file format </li></ul><ul><li>Jet databa...
Specifically NOT <ul><li>Access Data Project (ADP) </li></ul><ul><li>Data Access Pages (DAP) </li></ul><ul><li>ActiveX Dat...
How Many Users? <ul><li>Multi-User </li></ul><ul><ul><li>With everything wrong – 4, 5, or fewer </li></ul></ul><ul><ul><li...
Multi-User Layout <ul><li>Tables on Server </li></ul><ul><ul><li>Available To All Users </li></ul></ul><ul><li>On Users’ W...
Client-Server Layout <ul><li>Server Database Engine on Server </li></ul><ul><ul><li>Extraction, manipulation done here </l...
Jet is a File-Server <ul><li>Retrieve, Extract, and Manipulate on  User’s Workstation </li></ul><ul><li>Every I/O Done Acr...
Server Databases <ul><li>Retrieval, extraction, and  manipulation on the  Server </li></ul><ul><li>Much less Network I/O <...
Multi-user Layout . . . DATA ON SERVER PROCESS ON USER WORKSTATION PROCESS ON USER WORKSTATION . . .  PROCESS ON USER WORK...
Client-Server Layout . . . DATA STORED IN SERVER DB CREATE REQUEST SEND / RECEIVE  DATA PROCESS REQEST IN SERVER DB Reques...
Comparison . . . Server (Not Necessarily Windows) Windows U I U I U I Data Only Server Database with Data Access, Jet, ODB...
What’s Different? . . . <ul><li>Data in Server DB </li></ul><ul><ul><li>Access User Interface to Server Databases </li></u...
What’s Different? . . . <ul><li>Retrieval, extraction, and  manipulation on the  Server </li></ul><ul><li>Fewer Problems  ...
What’s Different? . . . <ul><li>Access security  </li></ul><ul><li>Server security  </li></ul><ul><ul><li>Tables on Server...
What’s Different? . . . <ul><li>Rules and triggers at the Server </li></ul><ul><li>Don’t generate Access error messages  <...
What’s Different? . . . <ul><li>As defined by Server database </li></ul><ul><li>Server types may   </li></ul><ul><ul><li>m...
What’s Different? . . . <ul><li>Defined by Server database, </li></ul><ul><ul><li>Implemented on Server </li></ul></ul><ul...
What’s Different? . . . <ul><li>Most servers do not permit </li></ul><ul><ul><li>updating tables joined in SQL </li></ul><...
Performance Factors <ul><li>Hardware Environment </li></ul><ul><ul><ul><li>More Memory </li></ul></ul></ul><ul><ul><ul><li...
More Factors . . . <ul><li>Reduce Network Traffic   </li></ul><ul><ul><li>Application Design </li></ul></ul><ul><ul><ul><u...
More Factors . . . <ul><li>Built-in performance factors   </li></ul><ul><ul><li>Re-planning query execution </li></ul></ul...
More Factors . . . <ul><li>Tuning at the Server   </li></ul><ul><ul><li>Spread data over different disks </li></ul></ul><u...
But . . . <ul><li>Jet  can  be smart  </li></ul><ul><ul><li>Return only part of large recordset </li></ul></ul><ul><ul><li...
Views <ul><li>Restrict user access </li></ul><ul><ul><li>Only the specified columns </li></ul></ul><ul><ul><li>Only the sp...
Record Locking . . . <ul><li>Done “co-operatively” in C/S </li></ul><ul><ul><li>Jet passes the request </li></ul></ul><ul>...
Record Locking . . . <ul><li>In Bound Forms </li></ul><ul><ul><li>No Locks (aka Optimistic Locking) </li></ul></ul><ul><ul...
Record Locking . . . <ul><li>Possibilities by Object </li></ul><ul><ul><li>All Three Options </li></ul></ul><ul><ul><ul><l...
Record Locking . . . <ul><li>Default Record Locking Option </li></ul><ul><ul><li>Established by menu Tools | Options </li>...
Record Locking . . . <ul><li>OpenRecordset </li></ul><ul><ul><li>dbDenyRead or dbDenyWrite </li></ul></ul><ul><ul><li>Over...
Record Locking . . . <ul><li>Advantages of Pessimistic Locking </li></ul><ul><ul><li>Simple to Develop,  Prevents Overwrit...
Record Locking <ul><li>Generally, use Optimistic </li></ul><ul><ul><li>Minimize User Lockout  </li></ul></ul><ul><li>Or, M...
Transactions . . . <ul><li>Changes in a batch </li></ul><ul><li>All Succeed or All Fail </li></ul><ul><li>Same or Related ...
Transactions . . . <ul><li>Server can resolve problems </li></ul><ul><ul><li>From failure occurring any time </li></ul></u...
Transactions <ul><li>Consider client-server if </li></ul><ul><ul><li>Processing funds transactions </li></ul></ul><ul><ul>...
Identifying Users <ul><li>Typically secure the database </li></ul><ul><ul><li>Everyone Logs In </li></ul></ul><ul><li>View...
Some Cautions . . . <ul><li>Jet may lose track of record </li></ul><ul><ul><li>When using server equivalent of AutoNumber ...
Cautions . . . <ul><li>“ Complex” queries </li></ul><ul><ul><li>More than two joins  </li></ul></ul><ul><ul><li>Jet someti...
Cautions . . . <ul><li>“ Complex” queries (alternative) </li></ul><ul><ul><li>More than two joins  </li></ul></ul><ul><ul>...
Cautions . . . <ul><li>“ Order by” not a key, not indexed </li></ul><ul><ul><li>“ Order By field must be in Select Clause”...
Cautions . . . <ul><li>Some joins won’t work in Access Query </li></ul>Miscellaneous tabid tabname colid tabid colname Tab...
Cautions . . . <ul><li>Countermeasure – “intermediary” </li></ul>Miscellaneous tabid tabname colid tabid colname tabname c...
Resources  . . . <ul><li>Access 97 Developer’s Handbook  </li></ul><ul><li>by Getz, Litwin, Gilbert </li></ul><ul><li>publ...
Resources  . . . <ul><li>Access 2000 Developer’s Handbook, Volume 2: Enterprise Edition </li></ul><ul><li>by Getz, Litwin,...
Resources   . . . <ul><li>Building Applications with Microsoft Access 97 </li></ul><ul><li>Manual, comes with Office Devel...
Resources <ul><li>Microsoft Office Visual Basic Programmer’s Guide </li></ul><ul><li>Manual, comes with Office 2000 Develo...
Upcoming SlideShare
Loading in...5
×

Microsoft Access as an ODBC Client Application A Presentation for ...

705

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
705
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Microsoft Access as an ODBC Client Application A Presentation for ..."

  1. 1. Microsoft Access as an ODBC Client Application A Presentation for the Microsoft Access SIG of the North Texas PC User Group and the Metroplex Access Developers by Larry Linson . © Copyright 2000 by L.M. Linson, all rights reserved
  2. 2. What is Access? <ul><li>“ A nice little desktop database” </li></ul><ul><li>First popular Windows database </li></ul><ul><li>For the novice </li></ul><ul><li>For the power user </li></ul><ul><li>For the developer </li></ul><ul><li>A File Server database with Jet </li></ul>
  3. 3. Access can build <ul><li>A standalone database </li></ul><ul><li>A multi-user database </li></ul><ul><li>A client linked to ODBC databases </li></ul><ul><li>A direct client to SQL Server </li></ul><ul><li>A web interface to database </li></ul>
  4. 4. Specifically <ul><li>Microsoft Access 2, 97, 2000 </li></ul><ul><li>.MDB or .MDE file format </li></ul><ul><li>Jet database engine and Data Access Objects (DAO) </li></ul><ul><li>Tables LINKed via ODBC Driver to </li></ul><ul><li>Server database (e.g. SQL Server) </li></ul>
  5. 5. Specifically NOT <ul><li>Access Data Project (ADP) </li></ul><ul><li>Data Access Pages (DAP) </li></ul><ul><li>ActiveX Data Objects (ADO) </li></ul><ul><li>Other Web Interface (e.g., Front Page) </li></ul><ul><li>ODBCDirect </li></ul>
  6. 6. How Many Users? <ul><li>Multi-User </li></ul><ul><ul><li>With everything wrong – 4, 5, or fewer </li></ul></ul><ul><ul><li>With everything right – 90 to 150 </li></ul></ul><ul><li>ODBC Client </li></ul><ul><ul><li>Easily hundreds, limited only by </li></ul></ul><ul><ul><li>Concurrent connections to server </li></ul></ul><ul><ul><li>Essentially unlimited </li></ul></ul>
  7. 7. Multi-User Layout <ul><li>Tables on Server </li></ul><ul><ul><li>Available To All Users </li></ul></ul><ul><li>On Users’ Workstations </li></ul><ul><ul><li>Access (or Runtime) </li></ul></ul><ul><ul><li>Application Part </li></ul></ul><ul><ul><li>Fetch .DLLs, Objects Locally </li></ul></ul>
  8. 8. Client-Server Layout <ul><li>Server Database Engine on Server </li></ul><ul><ul><li>Extraction, manipulation done here </li></ul></ul><ul><li>On Users’ Workstations </li></ul><ul><ul><li>Access (or Runtime) and Jet database engine </li></ul></ul><ul><ul><li>Application </li></ul></ul><ul><ul><ul><li>Queries, Forms, Reports, Macros, Modules </li></ul></ul></ul><ul><ul><ul><li>Linked TableDefs and Local Tables </li></ul></ul></ul><ul><ul><li>ODBC Drivers, ODBC Data Source Information </li></ul></ul>
  9. 9. Jet is a File-Server <ul><li>Retrieve, Extract, and Manipulate on User’s Workstation </li></ul><ul><li>Every I/O Done Across Network </li></ul><ul><ul><li>That would normally be to local hard drive </li></ul></ul><ul><ul><li>Not whole database, nor necessarily whole table </li></ul></ul><ul><ul><li>Just what Access finds necessary </li></ul></ul><ul><ul><ul><ul><li>Index may be enough to find exact records </li></ul></ul></ul></ul>
  10. 10. Server Databases <ul><li>Retrieval, extraction, and manipulation on the Server </li></ul><ul><li>Much less Network I/O </li></ul><ul><ul><li>(Just) Requests from user to server </li></ul></ul><ul><ul><li>(Just) Results from server to user </li></ul></ul>
  11. 11. Multi-user Layout . . . DATA ON SERVER PROCESS ON USER WORKSTATION PROCESS ON USER WORKSTATION . . . PROCESS ON USER WORKSTATION
  12. 12. Client-Server Layout . . . DATA STORED IN SERVER DB CREATE REQUEST SEND / RECEIVE DATA PROCESS REQEST IN SERVER DB Request & Data U I
  13. 13. Comparison . . . Server (Not Necessarily Windows) Windows U I U I U I Data Only Server Database with Data Access, Jet, ODBC Access, Jet
  14. 14. What’s Different? . . . <ul><li>Data in Server DB </li></ul><ul><ul><li>Access User Interface to Server Databases </li></ul></ul><ul><ul><li>Performance – potentially better; possibly worse </li></ul></ul><ul><ul><li>Corruption – not really a factor </li></ul></ul><ul><li>Multiple users of same data </li></ul><ul><ul><li>Collisions (Add / Update) – Locking handled on server </li></ul></ul><ul><ul><li>Seeing Other Users Update – Refreshing </li></ul></ul><ul><ul><li>Updating Related Tables – Transactions handled jointly </li></ul></ul><ul><ul><li>Who Am I? – Identify Users to Access and to Server </li></ul></ul>
  15. 15. What’s Different? . . . <ul><li>Retrieval, extraction, and manipulation on the Server </li></ul><ul><li>Fewer Problems </li></ul><ul><ul><li>Network failures </li></ul></ul><ul><ul><li>Power failures </li></ul></ul><ul><ul><li>Individual User and Machine failures </li></ul></ul>Updating
  16. 16. What’s Different? . . . <ul><li>Access security </li></ul><ul><li>Server security </li></ul><ul><ul><li>Tables on Server </li></ul></ul><ul><ul><ul><li>Accessing, manipulating, updating data </li></ul></ul></ul>Security Queries Macros Forms Modules Reports Local Tables
  17. 17. What’s Different? . . . <ul><li>Rules and triggers at the Server </li></ul><ul><li>Don’t generate Access error messages </li></ul><ul><li>Your application has to have </li></ul><ul><ul><li>pre-validation and </li></ul></ul><ul><ul><li>user notification </li></ul></ul>Data Validation
  18. 18. What’s Different? . . . <ul><li>As defined by Server database </li></ul><ul><li>Server types may </li></ul><ul><ul><li>match directly to Access types </li></ul></ul><ul><ul><li>not have Access counterpart </li></ul></ul><ul><ul><ul><li>Text date fields </li></ul></ul></ul><ul><ul><li>not have all Access types </li></ul></ul><ul><ul><ul><li>Counter, OLE, Memo </li></ul></ul></ul>Data Types
  19. 19. What’s Different? . . . <ul><li>Defined by Server database, </li></ul><ul><ul><li>Implemented on Server </li></ul></ul><ul><li>Often enforced only by </li></ul><ul><ul><li>Triggers </li></ul></ul><ul><ul><ul><li>Written manually </li></ul></ul></ul><ul><ul><ul><li>Generated by Data Modeler </li></ul></ul></ul><ul><ul><li>Some (e.g., Microsoft SQL Server) </li></ul></ul><ul><ul><ul><li>Automated, specified similar to Access </li></ul></ul></ul>Referential Integrity
  20. 20. What’s Different? . . . <ul><li>Most servers do not permit </li></ul><ul><ul><li>updating tables joined in SQL </li></ul></ul><ul><li>ODBC workaround (sometimes) </li></ul><ul><ul><li>Generate / send multiple updates </li></ul></ul><ul><li>Pass-through Queries </li></ul><ul><ul><li>Must adhere to server specifications </li></ul></ul>Updateable Queries/Views
  21. 21. Performance Factors <ul><li>Hardware Environment </li></ul><ul><ul><ul><li>More Memory </li></ul></ul></ul><ul><ul><ul><li>Faster Processors </li></ul></ul></ul><ul><ul><ul><li>Faster Hard Drives </li></ul></ul></ul><ul><li>Software Environment </li></ul><ul><ul><ul><li>Not Too Much Else Running </li></ul></ul></ul><ul><li>Network Environment </li></ul><ul><ul><ul><li>Faster is Better </li></ul></ul></ul>Performance Server is more important than user’s machine! Not as important as in Multi-User }
  22. 22. More Factors . . . <ul><li>Reduce Network Traffic </li></ul><ul><ul><li>Application Design </li></ul></ul><ul><ul><ul><ul><li>Local tables (refresh from server) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Use Queries not Tables </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Limit both Tables and Columns </li></ul></ul></ul></ul></ul><ul><ul><li>Database Implementation </li></ul></ul><ul><ul><ul><ul><li>Queries, not DAO Code (When Feasible) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Queries, not RecordsetClone.FindFirst </li></ul></ul></ul></ul>Performance
  23. 23. More Factors . . . <ul><li>Built-in performance factors </li></ul><ul><ul><li>Re-planning query execution </li></ul></ul><ul><ul><ul><ul><li>Also called “compiling” “preparing” </li></ul></ul></ul></ul><ul><ul><ul><ul><li>State of data is important </li></ul></ul></ul></ul><ul><li>Stored procedures </li></ul><ul><ul><ul><ul><li>Like saved Queries in Access </li></ul></ul></ul></ul><ul><ul><ul><ul><li>But with logic like code, too </li></ul></ul></ul></ul>Performance
  24. 24. More Factors . . . <ul><li>Tuning at the Server </li></ul><ul><ul><li>Spread data over different disks </li></ul></ul><ul><ul><li>Monitor Performance </li></ul></ul><ul><ul><ul><li>Analyze </li></ul></ul></ul><ul><ul><ul><li>Add, remove, modify indexes </li></ul></ul></ul><ul><ul><li>Database Administration </li></ul></ul><ul><ul><ul><li>More TLC </li></ul></ul></ul><ul><ul><ul><li>That’s why there are DBA’s </li></ul></ul></ul>Performance
  25. 25. But . . . <ul><li>Jet can be smart </li></ul><ul><ul><li>Return only part of large recordset </li></ul></ul><ul><ul><li>Create separate query for FindFirst </li></ul></ul><ul><li>It may “save us from ourselves” </li></ul>Performance
  26. 26. Views <ul><li>Restrict user access </li></ul><ul><ul><li>Only the specified columns </li></ul></ul><ul><ul><li>Only the specified rows </li></ul></ul><ul><li>Like Access’ “Saved Queries” </li></ul><ul><li>Appear as Tables to Jet / Access </li></ul><ul><li>Also assist performance </li></ul><ul><ul><li>Force joins and selection at server </li></ul></ul>Data Integrity
  27. 27. Record Locking . . . <ul><li>Done “co-operatively” in C/S </li></ul><ul><ul><li>Jet passes the request </li></ul></ul><ul><ul><li>Locking actually done by the server </li></ul></ul><ul><ul><li>Considerations same as Multi-User </li></ul></ul><ul><ul><ul><li>Except: you may lock out more users </li></ul></ul></ul><ul><ul><ul><li>May be a smaller time window for some </li></ul></ul></ul><ul><li>So, let’s just “fly through” </li></ul><ul><ul><li>the repeated slides </li></ul></ul>Data Integrity
  28. 28. Record Locking . . . <ul><li>In Bound Forms </li></ul><ul><ul><li>No Locks (aka Optimistic Locking) </li></ul></ul><ul><ul><ul><li>Only in the instant the record is saved </li></ul></ul></ul><ul><ul><li>Edited Record (aka Pessimistic Locking) </li></ul></ul><ul><ul><ul><li>As soon as user begins to edit </li></ul></ul></ul><ul><ul><li>All Records </li></ul></ul><ul><ul><ul><li>All records in the entire recordset </li></ul></ul></ul><ul><ul><ul><li>Batch Updates </li></ul></ul></ul><ul><ul><ul><li>Administrative Maintenance </li></ul></ul></ul>Data Integrity
  29. 29. Record Locking . . . <ul><li>Possibilities by Object </li></ul><ul><ul><li>All Three Options </li></ul></ul><ul><ul><ul><li>Table datasheets; Select, Crosstab, Union Query, Forms, OpenRecordset </li></ul></ul></ul><ul><ul><li>Lock Edited Record or All Records </li></ul></ul><ul><ul><ul><li>Update, Delete, Make-Table, Append </li></ul></ul></ul><ul><ul><li>Lock All Records </li></ul></ul><ul><ul><ul><li>Data Definition Queries </li></ul></ul></ul><ul><ul><li>No Locks or Lock All Records </li></ul></ul><ul><ul><ul><li>Reports </li></ul></ul></ul>Data Integrity
  30. 30. Record Locking . . . <ul><li>Default Record Locking Option </li></ul><ul><ul><li>Established by menu Tools | Options </li></ul></ul><ul><li>Applies to All, Except </li></ul><ul><ul><li>Data Definition Queries – All Records </li></ul></ul><ul><ul><li>Open Recordset – Edited Record </li></ul></ul>Data Integrity
  31. 31. Record Locking . . . <ul><li>OpenRecordset </li></ul><ul><ul><li>dbDenyRead or dbDenyWrite </li></ul></ul><ul><ul><li>Overrides .LockEdits property </li></ul></ul><ul><ul><li>Native Access Tables Only </li></ul></ul><ul><li>.LockEdits Property </li></ul><ul><ul><li>True = Edited Record (the default) </li></ul></ul><ul><ul><li>False = No Locks </li></ul></ul>Data Integrity
  32. 32. Record Locking . . . <ul><li>Advantages of Pessimistic Locking </li></ul><ul><ul><li>Simple to Develop, Prevents Overwriting </li></ul></ul><ul><li>Disadvantages of Pessimistic </li></ul><ul><ul><li>Lock Multiple Records, Less Concurrency </li></ul></ul><ul><li>Advantages of Optimistic Locking </li></ul><ul><ul><li>Simple to Use, Better Concurrency, Less Lockout </li></ul></ul><ul><li>Disadvantages of Optimistic </li></ul><ul><ul><li>Can be Confusing to User, Allows Overwriting </li></ul></ul>Data Integrity
  33. 33. Record Locking <ul><li>Generally, use Optimistic </li></ul><ul><ul><li>Minimize User Lockout </li></ul></ul><ul><li>Or, Mixed, by Specific Object </li></ul><ul><ul><li>Most Optimistic, but </li></ul></ul><ul><ul><li>Critical Information, Pessimistic </li></ul></ul><ul><ul><ul><li>Example: Quantity on Hand in Inventory </li></ul></ul></ul>Data Integrity
  34. 34. Transactions . . . <ul><li>Changes in a batch </li></ul><ul><li>All Succeed or All Fail </li></ul><ul><li>Same or Related Tables </li></ul><ul><ul><li>Allocate Stock to Order, Deduct Stock on Hand </li></ul></ul><ul><ul><li>Credit New Account and Debit Old Account </li></ul></ul>Data Integrity
  35. 35. Transactions . . . <ul><li>Server can resolve problems </li></ul><ul><ul><li>From failure occurring any time </li></ul></ul><ul><ul><li>Full audit trail </li></ul></ul><ul><ul><li>Hot backup – second copy of data </li></ul></ul><ul><li>No </li></ul><ul><ul><li>Orphan locks in .LDB </li></ul></ul><ul><ul><li>Data loss, lockout, corruption due to </li></ul></ul><ul><ul><ul><li>Errors that occur while committing </li></ul></ul></ul>Data Integrity
  36. 36. Transactions <ul><li>Consider client-server if </li></ul><ul><ul><li>Processing funds transactions </li></ul></ul><ul><ul><li>Performing critical inventory updates </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><ul><li>Regardless of other considerations </li></ul></ul><ul><ul><ul><li>Performance </li></ul></ul></ul><ul><ul><ul><li>Number of users </li></ul></ul></ul>Data Integrity
  37. 37. Identifying Users <ul><li>Typically secure the database </li></ul><ul><ul><li>Everyone Logs In </li></ul></ul><ul><li>Viewing and Reporting </li></ul><ul><ul><li>MSLDBUSR.DLL by Microsoft </li></ul></ul><ul><ul><li>Unsupported </li></ul></ul><ul><li>Server Security </li></ul><ul><ul><li>Log in to connect and link </li></ul></ul>Miscellaneous
  38. 38. Some Cautions . . . <ul><li>Jet may lose track of record </li></ul><ul><ul><li>When using server equivalent of AutoNumber </li></ul></ul><ul><ul><li>Data entry works fine </li></ul></ul><ul><ul><li>When record saved, all show “#Deleted” </li></ul></ul><ul><li>Countermeasure </li></ul><ul><ul><li>Table of tables and next id number </li></ul></ul><ul><ul><li>Stored procedure to return next id </li></ul></ul><ul><ul><li>Never use “data entry”, always editing </li></ul></ul>Miscellaneous
  39. 39. Cautions . . . <ul><li>“ Complex” queries </li></ul><ul><ul><li>More than two joins </li></ul></ul><ul><ul><li>Jet sometimes decides </li></ul></ul><ul><ul><li>Brings back a flood of data </li></ul></ul><ul><li>Countermeasure </li></ul><ul><ul><li>More than two joins, performance slow </li></ul></ul><ul><ul><li>Consider creating a view </li></ul></ul><ul><ul><li>View appears as Table to Jet </li></ul></ul><ul><ul><li>Forces joins and extraction on server </li></ul></ul>Miscellaneous
  40. 40. Cautions . . . <ul><li>“ Complex” queries (alternative) </li></ul><ul><ul><li>More than two joins </li></ul></ul><ul><ul><li>Jet sometimes decides </li></ul></ul><ul><ul><li>Brings back a flood of data </li></ul></ul><ul><li>Countermeasure </li></ul><ul><ul><li>Create a passthrough Query </li></ul></ul><ul><ul><li>Tells Jet, “Hands off!” </li></ul></ul><ul><ul><li>Forces joins and extraction on server </li></ul></ul>Miscellaneous
  41. 41. Cautions . . . <ul><li>“ Order by” not a key, not indexed </li></ul><ul><ul><li>“ Order By field must be in Select Clause” </li></ul></ul><ul><ul><li>Message is erroneous </li></ul></ul><ul><li>Countermeasure </li></ul><ul><ul><li>May have to make it a key or index </li></ul></ul><ul><ul><li>May be able to use a passthrough Query </li></ul></ul>Miscellaneous
  42. 42. Cautions . . . <ul><li>Some joins won’t work in Access Query </li></ul>Miscellaneous tabid tabname colid tabid colname TableName ColumnName . . . <ul><li>continued </li></ul>Server Tables Access Table
  43. 43. Cautions . . . <ul><li>Countermeasure – “intermediary” </li></ul>Miscellaneous tabid tabname colid tabid colname tabname colname Server Tables Access Tables tabname colname TableName ColumnName Query
  44. 44. Resources . . . <ul><li>Access 97 Developer’s Handbook </li></ul><ul><li>by Getz, Litwin, Gilbert </li></ul><ul><li>published by SYBEX </li></ul><ul><li>ISBN: 0 - 7821 - 1941 - 7 </li></ul><ul><li>Chap 15 – Developing Client-Server Applications </li></ul>
  45. 45. Resources . . . <ul><li>Access 2000 Developer’s Handbook, Volume 2: Enterprise Edition </li></ul><ul><li>by Getz, Litwin, Gilbert </li></ul><ul><li>published by SYBEX </li></ul><ul><li>ISBN: 0 - 7821 - 2372 - 4 </li></ul><ul><li>Chap 3 – Developing Client-Server Applications (also other chapters this volume) </li></ul>
  46. 46. Resources . . . <ul><li>Building Applications with Microsoft Access 97 </li></ul><ul><li>Manual, comes with Office Developer or the MSDN Library </li></ul><ul><li>publisher: Microsoft </li></ul><ul><li>Chapter 10 – Creating Multi-User Databases </li></ul>
  47. 47. Resources <ul><li>Microsoft Office Visual Basic Programmer’s Guide </li></ul><ul><li>Manual, comes with Office 2000 Developer or the MSDN Library </li></ul><ul><li>publisher: Microsoft </li></ul><ul><li>Chapter 16 –Multi-User Database Solutions </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×