Google
 
Webnews.only-4-geeks.com
Interesting places
news.only-4-geeks.com Forum Index » AccessGoto page 1, 2, 3, 4  Next

Search funtion ....

 
Jump to:  
 
Sue Compelling
PostPosted: Fri Sep 05, 2008 6:06 am    Post subject: Search funtion ....
       
Hi

Using ACCESS 2000

I have just completed a refresh of an existing DB that my users have been
happily using for 5 years, without too much complaint. The refresh was
mainly look and feel of the forms and reports.

Context:

I undertook the dev work in 2007 though saved the DB in 2000 (the version of
my users)
The DB only has some 6,000 records (tables DB is 11 MB, Forms, Queries,
Report DB is 1.5 MB)
The DB has max of 8 users at any one time

Problem:

When I undertake the Ctl F command in the test lab (ie my home) - it works
exactly as it should - quickly and accurately finds a record)

When my users try the same thing it can take up to a minute for a searched
for record to return (obviously unacceptable)

Where do I begin to resolve this issue? (ps they have compacted and
repaired the DB)

TIA
--
Sue Compelling
 

 
Tom Wickerath
PostPosted: Sat Sep 06, 2008 1:50 am    Post subject: RE: Search funtion ....
       
Hi Sue,

How close does your test lab replicate the production copy? If done
properly, your application has been split into a FE (front-end) and BE
(back-end) databases, and each user has their own local copy of the FE
application loaded onto their hard drives. In other words, the FE is
unshared. Does your test lab at home include a network?

This article may provide some helpful ideas for you:

Implementing a Successful Multiuser Access/JET Application
LINK

Also, I think you would be better off to implement true Query by Form (QBF)
instead of relying on the built-in Find and Replace. A network is the weak
link in the chain (ie. slowest data transfer), so the golden rule is to
"request less data". In order to use the <Ctrl><F> functionality, I'm pretty
sure you would need to drag the entire recordset over the wire. You might
want to have a look at the downloads I offer for the January/February, 2008
meeting presentations at the Seattle Access web site:

LINK

Make sure to disable Name Autocorrect, set all subdatasheets to [None], and
establish a persistent connection. Experiment some with the JETShowPlan
registry setting, as discussed in my Multiuser apps. paper. Try to make sure
that you are not ending up with table scans. If you see table scans in the
resulting Showplan.out files, you should consider applying indexes as needed.


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Quote:
Hi

Using ACCESS 2000

I have just completed a refresh of an existing DB that my users have been
happily using for 5 years, without too much complaint. The refresh was
mainly look and feel of the forms and reports.

Context:

I undertook the dev work in 2007 though saved the DB in 2000 (the version of
my users)
The DB only has some 6,000 records (tables DB is 11 MB, Forms, Queries,
Report DB is 1.5 MB)
The DB has max of 8 users at any one time

Problem:

When I undertake the Ctl F command in the test lab (ie my home) - it works
exactly as it should - quickly and accurately finds a record)

When my users try the same thing it can take up to a minute for a searched
for record to return (obviously unacceptable)

Where do I begin to resolve this issue? (ps they have compacted and
repaired the DB)

TIA
--
Sue Compelling
 

 
Sue Compelling
PostPosted: Sat Sep 06, 2008 4:12 am    Post subject: RE: Search funtion ....
       
Hi Tim

Appreciate the response and indeed the links to QBF 'training tools'. Have
now saved this to my favs

In response to your questions;

a) Yes - the App is comprised of FE and BE DBs
b) No - my home environment doesn't replicate theirs (as I don't use a
network)
c) to add to the confusion - some users were using the old version and the
Ctl F function worked fine (ie fast)

A question - Rather than me deploying this myself - I did zip and email the
FE to the Manager and talked them through the download and linking (and
copying the master to their local drives etc). Could the zipping and
emailing be part of the problem?

TIA
--
Sue Compelling


"Tom Wickerath" wrote:

Quote:
Hi Sue,

How close does your test lab replicate the production copy? If done
properly, your application has been split into a FE (front-end) and BE
(back-end) databases, and each user has their own local copy of the FE
application loaded onto their hard drives. In other words, the FE is
unshared. Does your test lab at home include a network?

This article may provide some helpful ideas for you:

Implementing a Successful Multiuser Access/JET Application
LINK

Also, I think you would be better off to implement true Query by Form (QBF)
instead of relying on the built-in Find and Replace. A network is the weak
link in the chain (ie. slowest data transfer), so the golden rule is to
"request less data". In order to use the <Ctrl><F> functionality, I'm pretty
sure you would need to drag the entire recordset over the wire. You might
want to have a look at the downloads I offer for the January/February, 2008
meeting presentations at the Seattle Access web site:

LINK

Make sure to disable Name Autocorrect, set all subdatasheets to [None], and
establish a persistent connection. Experiment some with the JETShowPlan
registry setting, as discussed in my Multiuser apps. paper. Try to make sure
that you are not ending up with table scans. If you see table scans in the
resulting Showplan.out files, you should consider applying indexes as needed.


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Hi

Using ACCESS 2000

I have just completed a refresh of an existing DB that my users have been
happily using for 5 years, without too much complaint. The refresh was
mainly look and feel of the forms and reports.

Context:

I undertook the dev work in 2007 though saved the DB in 2000 (the version of
my users)
The DB only has some 6,000 records (tables DB is 11 MB, Forms, Queries,
Report DB is 1.5 MB)
The DB has max of 8 users at any one time

Problem:

When I undertake the Ctl F command in the test lab (ie my home) - it works
exactly as it should - quickly and accurately finds a record)

When my users try the same thing it can take up to a minute for a searched
for record to return (obviously unacceptable)

Where do I begin to resolve this issue? (ps they have compacted and
repaired the DB)

TIA
--
Sue Compelling
 

 
Tom Wickerath
PostPosted: Sat Sep 06, 2008 4:42 am    Post subject: RE: Search funtion ....
       
Hi Sue,

Quote:
b) No - my home environment doesn't replicate theirs (as I don't use a
network)

In that case, any speed comparison tests of what you get at home versus what
your clients get in their office is an apples and oranges comparison.

Quote:
c) to add to the confusion - some users were using the old version and the
Ctl F function worked fine (ie fast)

What changed between your old version and your newer version? Make sure that
they start with a compacted database (both FE & BE), as compacting will cause
all query plans to be reset. Access will determine the best query plan the
next time each query is run, immediately after a compact and repair. In this
way, you will have the most efficient query plan for the number of records in
each table.

Quote:
Could the zipping and emailing be part of the problem?

I can't imagine how the manager could have done something wrong
here....unless they set everyone up to share a common FE file on the file
server. Is it possible for you to visit this location in person?


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Quote:
Hi Tom

Appreciate the response and indeed the links to QBF 'training tools'. Have
now saved this to my favs

In response to your questions;

a) Yes - the App is comprised of FE and BE DBs
b) No - my home environment doesn't replicate theirs (as I don't use a
network)
c) to add to the confusion - some users were using the old version and the
Ctl F function worked fine (ie fast)

A question - Rather than me deploying this myself - I did zip and email the
FE to the Manager and talked them through the download and linking (and
copying the master to their local drives etc). Could the zipping and
emailing be part of the problem?

TIA
--
Sue Compelling
 

 
Sue Compelling
PostPosted: Sat Sep 06, 2008 4:51 am    Post subject: RE: Search funtion ....
       
Hi Tom

Take your point on issue a)
And yes - I think I will drive in to deploy.

The difference between the old FE and the new FE was almost solely around
look and feel of the forms and reports, though of note is that I undertook
the dev work in 2007 though saved the DB in 2000 (the version of my users).

Would this conribute to any problems?
--
Sue Compelling


"Tom Wickerath" wrote:

Quote:
Hi Sue,

b) No - my home environment doesn't replicate theirs (as I don't use a
network)

In that case, any speed comparison tests of what you get at home versus what
your clients get in their office is an apples and oranges comparison.

c) to add to the confusion - some users were using the old version and the
Ctl F function worked fine (ie fast)

What changed between your old version and your newer version? Make sure that
they start with a compacted database (both FE & BE), as compacting will cause
all query plans to be reset. Access will determine the best query plan the
next time each query is run, immediately after a compact and repair. In this
way, you will have the most efficient query plan for the number of records in
each table.

Could the zipping and emailing be part of the problem?

I can't imagine how the manager could have done something wrong
here....unless they set everyone up to share a common FE file on the file
server. Is it possible for you to visit this location in person?


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Hi Tom

Appreciate the response and indeed the links to QBF 'training tools'. Have
now saved this to my favs

In response to your questions;

a) Yes - the App is comprised of FE and BE DBs
b) No - my home environment doesn't replicate theirs (as I don't use a
network)
c) to add to the confusion - some users were using the old version and the
Ctl F function worked fine (ie fast)

A question - Rather than me deploying this myself - I did zip and email the
FE to the Manager and talked them through the download and linking (and
copying the master to their local drives etc). Could the zipping and
emailing be part of the problem?

TIA
--
Sue Compelling
 

 
Tom Wickerath
PostPosted: Sat Sep 06, 2008 5:09 am    Post subject: RE: Search funtion ....
       
Hi Sue,

It's always best to develop using the lowest common denominator version of
Access. In that way, you don't inadvertently use functionality that is not
supported in an earlier version.

You might want to try talking the manager (or do it yourself, when you do go
on-site) into decompiling the VBA code in your project, compacting, and then
re-compiling.

I forgot to ask earlier, but do you have relationships established between
the tables in the BE database, with enforced referential integrity (RI)?

As long as you will be on site soon, I highly recommend that you become
familiar with Access MVP Tony Toews free AutoFE Updater utility. This will
make it breezy-easy for you to deploy updated FE's in the future.

LINK
LINK

Do spend some time using JETShowPlan, using your home test lab. With this
registry flag set, use each command button on a switchboard that a user might
click on. Do some searches using your <Ctrl><F> method. Then open the
resulting Showplan.out file using your favorite text editor, and search for
the word "scan". Don't become too concerned with table scans against small
tables, as scanning may be the most efficient method in that case. However,
if the table has more than, say, 100 records or so, I'd start to get
concerned about seeing table scans. Also, keep in mind that table scans
against lookup tables, for example the rowsource for a combo box, are
perfectly fine. After all, the combo box likely displays all records in the
lookup table.


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Quote:
Hi Tom

Take your point on issue a)
And yes - I think I will drive in to deploy.

The difference between the old FE and the new FE was almost solely around
look and feel of the forms and reports, though of note is that I undertook
the dev work in 2007 though saved the DB in 2000 (the version of my users).

Would this conribute to any problems?
--
Sue Compelling
 

 
Sue Compelling
PostPosted: Sat Sep 06, 2008 5:43 am    Post subject: RE: Search funtion ....
       
Aaaaaaaaaaaaaaarrrrrrrrggggg - I think you've just solved my problem.

I changed 2 fields on the form (which were populating using queries) into
lookups. On my DB it seemed to present a more transparent look for the user
though has obviously stuffed up the search.

Also - I'm a self taught relative newbie unfortunately - so some of your
explanations below have scared the bejeebuz out of me.

That said Tom - while I have your attention - is it possible for you to fix
this field for me below? (happy if you want me to repost).

In most instances the 'coordinator' details that get returned will not
always have every type of contact number displayed, so in those instances I
don't want the H:, W: or M: to be shown - I think I'm supposed to use the Nz
function?


Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType] & " H: "
& Format([homephone],"(00) 000-0000") & " W: " & Format([workphone],"(00)
000-0000") & ", " & [workextension] & " M: " & Format([mobilephone],"(000)
000-0000")

TIA
--
Sue Compelling


"Tom Wickerath" wrote:

Quote:
Hi Sue,

It's always best to develop using the lowest common denominator version of
Access. In that way, you don't inadvertently use functionality that is not
supported in an earlier version.

You might want to try talking the manager (or do it yourself, when you do go
on-site) into decompiling the VBA code in your project, compacting, and then
re-compiling.

I forgot to ask earlier, but do you have relationships established between
the tables in the BE database, with enforced referential integrity (RI)?

As long as you will be on site soon, I highly recommend that you become
familiar with Access MVP Tony Toews free AutoFE Updater utility. This will
make it breezy-easy for you to deploy updated FE's in the future.

LINK
LINK

Do spend some time using JETShowPlan, using your home test lab. With this
registry flag set, use each command button on a switchboard that a user might
click on. Do some searches using your <Ctrl><F> method. Then open the
resulting Showplan.out file using your favorite text editor, and search for
the word "scan". Don't become too concerned with table scans against small
tables, as scanning may be the most efficient method in that case. However,
if the table has more than, say, 100 records or so, I'd start to get
concerned about seeing table scans. Also, keep in mind that table scans
against lookup tables, for example the rowsource for a combo box, are
perfectly fine. After all, the combo box likely displays all records in the
lookup table.


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Hi Tom

Take your point on issue a)
And yes - I think I will drive in to deploy.

The difference between the old FE and the new FE was almost solely around
look and feel of the forms and reports, though of note is that I undertook
the dev work in 2007 though saved the DB in 2000 (the version of my users).

Would this conribute to any problems?
--
Sue Compelling
 

 
Tom Wickerath
PostPosted: Sat Sep 06, 2008 6:08 pm    Post subject: RE: Search funtion ....
       
Hi Sue,

I had called it a night after my last reply--it was after midnight for me,
so I just read your reply shown below.

Quote:
Aaaaaaaaaaaaaaarrrrrrrrggggg - I think you've just solved my problem.

Maybe, but maybe not....


Quote:
I changed 2 fields on the form (which were populating using queries) into
lookups.

I think you are saying that you changed two text boxes to lookup combo
boxes. Is this correct? If so, how many records are in the row sources for
each combo box? Are you pulling only the required data for the combo box?
I've often times seen people use rowsources for combo boxes that look
something like this:

SELECT * FROM [TableName] ORDER BY [FieldName]

when all they *really* needed was one or two fields from the table involved.
However, by using the SELECT * syntax, they brought ALL fields in each record
over the wire.


Quote:
Also - I'm a self taught relative newbie unfortunately - so some of your
explanations below have scared the bejeebuz out of me.

I'm pretty much self taught as well. What parts of my replies have seemed
scary to you?


Quote:
I think I'm supposed to use the Nz function?

The Nz function can be used to convert a null (unknown) to something else,
such as 0 (zero), or a zero length string (ZLS) --> "". A null plus anything
else is still a null, so I think you can use the idea of null concatentation
here, if the fields are truly null (and not ZLS). Try something like this (I
didn't attempt to test it):

Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType] + (" H: "
& Format([homephone],"(00) 000-0000")) + (" W: " &
Format([workphone],"(00) 000-0000" & ", " & [workextension]) + (" M: " &
Format([mobilephone],"(000) 000-0000"))


Tom Wickerath
Microsoft Access MVP
LINK
LINK
__________________________________________

"Sue Compelling" wrote:

Quote:
Aaaaaaaaaaaaaaarrrrrrrrggggg - I think you've just solved my problem.

I changed 2 fields on the form (which were populating using queries) into
lookups. On my DB it seemed to present a more transparent look for the user
though has obviously stuffed up the search.

Also - I'm a self taught relative newbie unfortunately - so some of your
explanations below have scared the bejeebuz out of me.

That said Tom - while I have your attention - is it possible for you to fix
this field for me below? (happy if you want me to repost).

In most instances the 'coordinator' details that get returned will not
always have every type of contact number displayed, so in those instances I
don't want the H:, W: or M: to be shown - I think I'm supposed to use the Nz
function?


Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType] & " H: "
& Format([homephone],"(00) 000-0000") & " W: " & Format([workphone],"(00)
000-0000") & ", " & [workextension] & " M: " & Format([mobilephone],"(000)
000-0000")

TIA
--
Sue Compelling
 

 
Tom Wickerath
PostPosted: Sat Sep 06, 2008 7:11 pm    Post subject: RE: Search funtion ....
       
Let me try that again:

Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType]
& (" H: " + Format([homephone],"(00) 000-0000"))
& (" W: " + Format([workphone],"(00) 000-0000" + ", " + [workextension]))
& (" M: " + Format([mobilephone],"(000) 000-0000"))

You might also try something like this, to get the phone numbers to print on
different lines:

Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType]
& (Chr(13) + Chr(10) + " H: " + Format([homephone],"(00) 000-0000"))
& (Chr(13) + Chr(10) + " W: " + Format([workphone],"(00) 000-0000" + ", "
+ [workextension]))
& (Chr(13) + Chr(10) + " M: " + Format([mobilephone],"(000) 000-0000"))


Tom Wickerath
Microsoft Access MVP
LINK
LINK
 

 
Sue Compelling
PostPosted: Sun Sep 07, 2008 12:58 am    Post subject: RE: Search funtion ....
       
Hi Tom

Unfortunately this presents a blank field where nothing populates - but it's
fixed now from Marshall using another post:

( .... & Format([homephone]," \H\: (@@) @@@-@@@@") & Format([workphone],"
\W\: (@@) @@@-@@@@") & (" X" +
[workextension]) & Format([mobilephone]," \M\: (@@@) @@@-@@@@")

Appreciate your response regardless. And midnight - bedtime!!!! surely the
night has just begun.

Will respond to your questions using your other reply.
--
Sue Compelling


"Tom Wickerath" wrote:

Quote:
Let me try that again:

Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType]
& (" H: " + Format([homephone],"(00) 000-0000"))
& (" W: " + Format([workphone],"(00) 000-0000" + ", " + [workextension]))
& (" M: " + Format([mobilephone],"(000) 000-0000"))

You might also try something like this, to get the phone numbers to print on
different lines:

Combined: [Firstname] & " " & [Lastname] & ", " & [ContactType]
& (Chr(13) + Chr(10) + " H: " + Format([homephone],"(00) 000-0000"))
& (Chr(13) + Chr(10) + " W: " + Format([workphone],"(00) 000-0000" + ", "
+ [workextension]))
& (Chr(13) + Chr(10) + " M: " + Format([mobilephone],"(000) 000-0000"))


Tom Wickerath
Microsoft Access MVP
LINK
LINK
 

Page 1 of 4 .:. Goto page 1, 2, 3, 4  Next

Google
 
Webnews.only-4-geeks.com

Windows Update | C++ | C | PHP | JavaScript | Photoshop | Programming | Windows 2000 | Python | Windows XP | Object | Flash | Flash - ActionScript | Paint Shop Pro | Excel | PowerPoint | Access | Word | Windows 98 | Internet Explorer 6.0 | CorelDraw12 | Java | XML | asm x86 | Linux Mandrake | Linux RedHat | Outlook |  | news from newsgroups |_ | s

Web Templates

Awesome Website Templates ©

grecja Och słodka - Dżem Teksty piosenek sztuka starożytna może