July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Tuesday, September 21st, 2004 12:09 pm
There appears to be a slight glitch, in that an unnecessarily complicated process is not working correctly.

Background information
The database is running on SQL Server, with a Microsloth Abscess 2000 front end on each relevant desktop, using linked tables.

Problem
The developer created a drop-down to enable the selection of previous contacts. This then triggered a macro (mutter mutter) which ran a Refresh operation, and a pair of queries (no, I don’t know why a pair either), which populated the main table with data from the saved information on the previous contact. However, this does not then display on the form on screen. Just to add to the fun, most users will view the form with the "Data Entry" property set to True.

When, on the test database, the tables were imported instead of linked, and a “repaint” operation solved the problem. However, when using the linked tables on the real thing, nowt - the repaint doesn't seem to work.

Anyone got any ideas?
Tuesday, September 21st, 2004 07:12 am (UTC)
Having chatted to Simon previously about this lash up, it's a really horrible nasty mess. Bascialy they have an Access client using linked tables to talk to a SQL server. The queries are not only stored client side, but because Access doesn't know about the SQL server, they are exectuted client side as well. i.e. Access downloads the whole damn table then works it out for itself, rather than passing the query up to the SQL server. That isn't by any design, simply how Access linked tables work if you don't tell it otherwise. Even worse when you bind a form to the linked table, access will leave cursors in the SQL table while the user is inputing data, same as it would do with an Access back end.

If you know anything about databases you'll be screaming and trying to claw your eyes out at this point. It's probably a worse solution than just using an Access backend. The performance is about the same (all the data gets dumped to the client for processing either way), but unlike an Access backend, SQL server will actualy try and do locking and other such things to manage the horrible mess Access will inflict upon it.

Makes me weep to think of it.