Solved

Dynaset-Delete-Multiuser

Posted on 1998-04-08
9
268 Views
Last Modified: 2008-02-26
Hi,
 My application Front-end and Attached Back-end are both on the server to be used by 25 users. My problem here is adding data through an unbound form takes about 35 seconds that used to be 10 seconds on a standalone PC (single user). I can still compromise with that but when it comes to deleting the data, it takes forever and Ctrl-Alt-Del to Endtask corrupts the db.
I am using
      openrecordset("tablename" , db_open_dynaset)
      do until...notfound
        myset.delete
      loop
 close myset
 
and searching through the table for the particular record based on a key value provided through a small form and the button on the form executes the above code. How can I speed
the Addnew method I have used on adding records (35 secs) and on myset.delete (infinity) described above.
 
Devtha
 
0
Comment
Question by:devtha
9 Comments
 
LVL 6

Author Comment

by:devtha
ID: 1973552
Edited text of question
0
 
LVL 9

Expert Comment

by:cymbolic
ID: 1973553
Use SQL Pass through and the .execute method. Create an SQL statment such as "Delete * from tblnam where <constraint clause>, then execute this sql, and let the database do the work.
0
 
LVL 6

Author Comment

by:devtha
ID: 1973554
Cymbolic
         I should have mentioned that I am not using SQL db server. It is just a file server and I have the tables attached.
I already tried a pass through query and it gave me a message

"You cannot use ODBC to attach an external MS Access db or ISAM
db table to your db."
Any other suggestions?
Devtha


0
 
LVL 6

Author Comment

by:devtha
ID: 1973555
Hi cymbolic,
             I waited for your comment or but after not geeting any response I am opening this question to other experts.

Problems: adding and deleting records

    My application Front-end and Attached Back-end are both on the server to be used by 25 users. My problem here is adding data through an unbound form takes about 35 seconds
that used to be 10 seconds on a standalone PC (single user).

I used the following code to delete

  I was using openrecordset("tablename" , db_open_dynaset)
         do until...notfound
           myset.delete
         loop
    close myset
     
and searching through the table for the particular record based on a key value provided through a small form and the button on the form executes the above code. This gave me problems so
I used the wizard and let it create a button for deleting record and it is OK now.
But back to adding record using ADDnew method through an unbound form how can I speed the data entry over the network.
The Addnew method I have used on adding records takes 35 secs-45 secs.  

Devtha

0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 9

Expert Comment

by:perove
ID: 1973556
devtha,
Have you tried to use transactions? (begintrans commit trans)?

perove
0
 
LVL 1

Expert Comment

by:JeroenW
ID: 1973557
Are there different functionalities in your application? For example, I work for an insurance company which has its entire application (front end) build in Access. We migrated to SqlServer (backend) about a year and a half ago. Before that we had several different Access databases (backend): for each funtionality one and thus reducing the number of users and speeding up things.

Anyway, you should consider obtaining another backend, as even 10 seconds is way too much for a single record to be added.
For the addnew: maybe DB_APPEND_ONLY could do it.

Hope it helps,

Jeroen.
0
 
LVL 8

Expert Comment

by:Kobe_Lenjou
ID: 1973558
I'm pretty shure the problem resides with your search method.
Why don't you use the findfirst method?
0
 

Accepted Solution

by:
nirmala earned 20 total points
ID: 1973559
Manipulating recordsets using VBA is slower than using corresponding SQL statements.
Try using SQL statements with (INSERT) and db.execute(SQL statement).
0
 
LVL 6

Author Comment

by:devtha
ID: 1973560
I never accepted Nirmalas answer. To my surprise it reveals that I did.
Devtha
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now