Solved

Need Access DAO db.openrecordset to show changes

Posted on 2008-10-31
3
313 Views
Last Modified: 2013-11-27
Hello,

I need to open a DAO recordset in Access that will reflect changes made to the data while the data is being referenced.  I currently do not change the data using the recordset, but I do run other processes based on what I find in the record.  I need to see those changes as I continue to review the record as additional processes might need to be run based on what was updated.  The data come from only one Access table that resides within the same database as the code for the processing.

I have experimented with all of the openrecordset property calls that I thought made sense, but have not come up with the magical combination.

I could rewrite the code, but I am trying to avoid that.
0
Comment
Question by:WEhalt
  • 2
3 Comments
 
LVL 77

Expert Comment

by:peter57r
ID: 22856121
dbengine.Idle dbrefreshcache

See Idle in Help.
0
 

Author Comment

by:WEhalt
ID: 22861990
I added the line above, but it is still not refreshing.  I did notice in the help that it is not supposed to be necessary in single-user environments, but I don't think that explains why it is not working.  

Should I try a DoEvents or am I missing something larger?

This is how I am testing.  I am not attaching the full code because I think it is toolong and involved to make much sense, but I can if you would like.

...Open recordset
    Set tbl = db.OpenRecordset("SELECT * FROM TABLE", dbOpenDynaset)
    With tbl
    Do Until .EOF ... start loop

Perform tests that are resident within the fx intself
Based on a series of nested if/then/else, it calls a separate fx that
    updates the table and in doing so field tDt2Ck
    both what field tDt2Ck is and what fx is called varies
**Note I am not using this recordset to perform the update
    Instead, I am calling another function that performs more tests
        and then updates various date in the table accordingly

Then I try to see the changes
        MsgBox tAgy & "'s " & tDt2Ck & " Before - " & .Fields(tDt2Ck)
        DBEngine.Idle dbRefreshCache
        MsgBox tAgy & "'s " & tDt2Ck & " After - " & .Fields(tDt2Ck)

I can see that the correct updates are being made, but I am not able to see them while the fx is running so actions that are supposed to be performed later, based on the value in tDt2Ck, are not occurring.

Thank you for your help.
0
 
LVL 77

Accepted Solution

by:
peter57r earned 500 total points
ID: 22883683
Well it clearly won't do any harm to try doevents but I think I'd be surprised if it worked if the Idle command does not - give it a go and see.
I don't really have much else to suggest short of continually requerying the recordset which would mean you have to deal with maintaining the correct position in the rs. Maybe in that scenario, you would be better of just reading single records into the rs based on the id value.  Sorry I can't be more help.

0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

948 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

20 Experts available now in Live!

Get 1:1 Help Now