473,395 Members | 1,756 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Corruption of Access MDE files

I have been experiencing a strange corruption problem with an
application I developed using MS Access 2000 and deployed using an .MDE
file. The application is being used in a networked environment where
the .MDE file resides on a network server and is accessed by several
users using different versions of Access (2000, 2002 and 2003). The
problem is as follows: The program is designed to manage bar-coded
inventory at client sites, which receive text file updates from me when
we ship in new material. The updates are delimited files, which are
imported using VB code when a form button is clicked. The program
worked fine during initial testing, but now seems to seems to hang right
at the beginning of the update process. When I have the customer send
me the .MDE file for testing on my machine it hangs every time I try to
run it. I originally had the database set to compact on close, which I
thought might be causing the problem due to the multiple versions of
Access, and it appeared to work a about two weeks, but then started
again. Are there known issues with MDE file corruption when using
multiple versions of Access and could it be corrected by using the .MDB
version instead or is there a better solution?

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #1
8 3399
Ralph,
I have been experiencing a strange corruption problem with an
application I developed using MS Access 2000 and deployed using an .MDE
file. The application is being used in a networked environment where
the .MDE file resides on a network server and is accessed by several
users using different versions of Access (2000, 2002 and 2003). The
problem is as follows: The program is designed to manage bar-coded
inventory at client sites, which receive text file updates from me when
we ship in new material. The updates are delimited files, which are
imported using VB code when a form button is clicked. The program
worked fine during initial testing, but now seems to seems to hang right
at the beginning of the update process. When I have the customer send
me the .MDE file for testing on my machine it hangs every time I try to
run it. I originally had the database set to compact on close, which I
thought might be causing the problem due to the multiple versions of
Access, and it appeared to work a about two weeks, but then started
again. Are there known issues with MDE file corruption when using
multiple versions of Access and could it be corrected by using the .MDB
version instead or is there a better solution?


Why don't you give each user a local copy of the .mde file?

Regards!

Thilo Immel
The Access Druid www.atroplan.com
Nov 13 '05 #2
Ralph Fico <ra********@peerlessaerospace.com> wrote:
I have been experiencing a strange corruption problem with an
application I developed using MS Access 2000 and deployed using an .MDE
file. The application is being used in a networked environment where
the .MDE file resides on a network server and is accessed by several
users using different versions of Access (2000, 2002 and 2003).


You want to give each user their own copy of hte FE MDE.

I specifically created the Auto FE Updater utility so that I could make changes to
the FE MDE as often as I wanted and be quite confident that the next time someone
went to run the app that it would pull in the latest version. For more info on the
errors or the Auto FE Updater utility see the free Auto FE Updater utility at
http://www.granite.ab.ca/access/autofe.htm at my website to keep the FE on each PC up
to date.

In a Terminal Server or Citrix environment the Auto FE Updater now supports creating
a directory named after the user on a server. Given a choice put the FE on the
Citrix server to reduce network traffic and to avoid having to load objects over the
network which can be somewhat sluggish.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 13 '05 #3

Thanks for the splitting advice. I will try that and see if it resolves
the problem.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #4
I tried splitting the database into a FE and BE as you suggested, but
now am getting the following errors (which I did not get before) in a
couple modules of my application, which I am not sure how to address.

Any ideas on how to fix this?

Error code: Runtime error 3219 "Invalid Operation"

Here is the code that debug points me to as the source of the error
(note the debug marker highlights on the line " Set rstOrdRec =
db.OpenRecordset("tblReorderItems", dbopentable)
")

Private Sub btnUpdateStock_Click()

Dim strPafPart As String 'Variable to hold peerless part
number from update stock form
Dim intOnhandQty As Integer 'Holds onhand qty from
tblMastLicTot
Dim intSafeStock As Integer 'Holds safety stock value from
tblSafetyStock
Dim db As DAO.Database
Dim rstOrdRec As DAO.Recordset

Set db = CurrentDb()
Set rstOrdRec = db.OpenRecordset("tblReorderItems", dbopentable)
DoCmd.OpenQuery "qappManLic" 'Append copy of Master License
to Used Table for each ManUpd checked record
DoCmd.OpenQuery "qdelManUpdLic" 'Delete Used License From Master
Table for each ManUpd checked record
DoCmd.DeleteObject acTable, "tblMastLicTot"
DoCmd.OpenQuery "qmakMastLicTot" 'Reruns master total table
creation for use in comparing items whic may be below SS levels

If IsNull(DLookup("[totqty]", "tblmastlictot",
"[pafpart]=cbopafpart")) Then
intOnhandQty = 0
Else
intOnhandQty = DLookup("[totqty]", "tblMastLicTot",
"[pafpart]=cboPafPart")
End If

intSafeStock = DLookup("[reorderpoint]", "tblSafetyStock",
"[pafpart]=cboPafPart")
'Run reorder checks to see if modifications trigger reorder
If intOnhandQty < intSafeStock Then
If IsNull(DLookup("[pafpart]", "tblReorderItems",
"[pafpart]=cbopafpart")) Then
If IsNull(DLookup("[pafpart]", "tblMastLicTot",
"[pafpart]=cbopafpart")) Then
With rstOrdRec
.AddNew
![reqdate] = Date
![PAFPART] = Me!cboPafPart
![curqty] = intOnhandQty
![maxqty] = DLookup("[MaxStockQty]",
"tblSafetyStock", "[pafpart]=cbopafpart")
![REORDERPOINT] = DLookup("[reorderpoint]",
"tblSafetyStock", "[pafpart]=cbopafpart")
![ordqty] = DLookup("[MaxStockQty]",
"tblSafetyStock", "[pafpart]=cbopafpart")
.Update
End With
Else
DoCmd.OpenQuery "qappReOrderMatchMan" 'Append items to
be reordered to reorder table
End If
Else
DoCmd.OpenQuery "qupdReorderChgMan" 'update existing
re-order record
End If
'Email send command rem's out in favor of batch send controlled
by remove stock form timmer event
'DoCmd.RunMacro "mcrSendReorderEmail"
End If

DoCmd.Requery "qlkpMastLicDet subform" 'Requery subform data
End Sub
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #5
You cannot use the "dbOpenTable" option on a linked table. Remove that
argument from the OpenRecordset method and it will use the default of
dbDynaSet, which works just fine with linked tables.

Larry Linson
Microsoft Access MVP

"Ranger1" <ra*****@devdex.com> wrote in message
news:41**********************@news.newsgroups.ws.. .
I tried splitting the database into a FE and BE as you suggested, but
now am getting the following errors (which I did not get before) in a
couple modules of my application, which I am not sure how to address.

Any ideas on how to fix this?

Error code: Runtime error 3219 "Invalid Operation"

Here is the code that debug points me to as the source of the error
(note the debug marker highlights on the line " Set rstOrdRec =
db.OpenRecordset("tblReorderItems", dbopentable)
")

Private Sub btnUpdateStock_Click()

Dim strPafPart As String 'Variable to hold peerless part
number from update stock form
Dim intOnhandQty As Integer 'Holds onhand qty from
tblMastLicTot
Dim intSafeStock As Integer 'Holds safety stock value from
tblSafetyStock
Dim db As DAO.Database
Dim rstOrdRec As DAO.Recordset

Set db = CurrentDb()
Set rstOrdRec = db.OpenRecordset("tblReorderItems", dbopentable)
DoCmd.OpenQuery "qappManLic" 'Append copy of Master License
to Used Table for each ManUpd checked record
DoCmd.OpenQuery "qdelManUpdLic" 'Delete Used License From Master
Table for each ManUpd checked record
DoCmd.DeleteObject acTable, "tblMastLicTot"
DoCmd.OpenQuery "qmakMastLicTot" 'Reruns master total table
creation for use in comparing items whic may be below SS levels

If IsNull(DLookup("[totqty]", "tblmastlictot",
"[pafpart]=cbopafpart")) Then
intOnhandQty = 0
Else
intOnhandQty = DLookup("[totqty]", "tblMastLicTot",
"[pafpart]=cboPafPart")
End If

intSafeStock = DLookup("[reorderpoint]", "tblSafetyStock",
"[pafpart]=cboPafPart")
'Run reorder checks to see if modifications trigger reorder
If intOnhandQty < intSafeStock Then
If IsNull(DLookup("[pafpart]", "tblReorderItems",
"[pafpart]=cbopafpart")) Then
If IsNull(DLookup("[pafpart]", "tblMastLicTot",
"[pafpart]=cbopafpart")) Then
With rstOrdRec
.AddNew
![reqdate] = Date
![PAFPART] = Me!cboPafPart
![curqty] = intOnhandQty
![maxqty] = DLookup("[MaxStockQty]",
"tblSafetyStock", "[pafpart]=cbopafpart")
![REORDERPOINT] = DLookup("[reorderpoint]",
"tblSafetyStock", "[pafpart]=cbopafpart")
![ordqty] = DLookup("[MaxStockQty]",
"tblSafetyStock", "[pafpart]=cbopafpart")
.Update
End With
Else
DoCmd.OpenQuery "qappReOrderMatchMan" 'Append items to
be reordered to reorder table
End If
Else
DoCmd.OpenQuery "qupdReorderChgMan" 'update existing
re-order record
End If
'Email send command rem's out in favor of batch send controlled
by remove stock form timmer event
'DoCmd.RunMacro "mcrSendReorderEmail"
End If

DoCmd.Requery "qlkpMastLicDet subform" 'Requery subform data
End Sub
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Nov 13 '05 #6
"Larry Linson" wrote
You cannot use the "dbOpenTable"
option on a linked table. Remove that
argument from the OpenRecordset method
and it will use the default of dbDynaSet,
which works just fine with linked tables.


OOPS... for "dbDynaSet" in the original, read "dbOpenDynaSet".

Larry Linson
Microsoft Access MVP


Nov 13 '05 #7
Thanks. Removing the db.Opentable reference worked fine. I also got a
tip from someone that I should conver the DAO references to ADODB, which
it turns out seemed to solve the problem as well. Thanks again to
everyone who responded.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #8

"Ranger1" <ra*****@devdex.com> wrote in message
news:41**********************@news.newsgroups.ws.. .
Thanks. Removing the db.Opentable reference worked fine. I also got a
tip from someone that I should conver the DAO references to ADODB, which
it turns out seemed to solve the problem as well. Thanks again to
everyone who responded.


Moving from the familiar DAO, which is the native language of the Jet
database engine, to ADO, which is intended primarily for access to server
databases (and, overall, is not "better" than DAO) seems a drastic solution
to just not realizing that you can't use the table-type recordset in linked
tables.

You don't, by the way, have to convert to ADO -- instead of opening the
linked table, you can open the tables database directly and still use
OpenTable, but that is not as simple as just using the linked tabledef as a
dynaset. And, unless you are dealing with extraordinary volumes of data,
you'll not notice the performance difference sitting in front of the
monitor.

Larry Linson
Microsoft Access MVP
Nov 13 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Cybertof | last post by:
Hello, Is there a simple way to read a random access file that has been created with VB6 using direct writing to disk of Type....End Type structures ? I have not found this possibility in C#. ...
5
by: Mike McIntyre [MVP] | last post by:
I am working on an issue where and ASP.NET web application on one computer (A) needs to access files on a network mapped drive (B). This application uses as DSN on (A) that maps a proprietory...
1
by: Steven Smith | last post by:
Hi guys When working with random access files .NET creates, saves to and loads from a default location (i.e. the solutions bin directory) how can I specify at runtime where I want these...
13
by: Stuart | last post by:
I have converted a VB6 app to VB.NET. It's function is to generate reports from a Random Access file but the .NET version is pathetically slow compared to the VB6 version. I think I need to to...
0
by: Grant_Sutty | last post by:
Hi The only file information I need to access for a bunch of files (dlls & exe) on several remote servers is "file version number". Using the code below, I appear to be able to access all...
0
by: Skeleton Man | last post by:
Hi, Does anyone know of a Perl based solution for reading data directly from *.mdb files ? I don't want DBI, ODBC, etc.. I want something that reads the raw binary data and outputs it as CSV or...
1
by: jogijatin | last post by:
Hi, I am having 2 Access Files containing some records and i want to compare them, creating a result file as an Excel sheet showing the differences between 2 files.Can someone help me out
5
by: Peter | last post by:
Hi I will use a Random Access File in dotnet/csharp. The file is created with Visual Basic 6 (VB6). My Problem is to find out the corresponding Types I had to use in dotnet - reading the VB6...
1
by: mmhbk | last post by:
I have a web page in my ASP.NET site where I want to access files on the client's computer. I get the client's IP, but don't know what to do with it next. DirectoryInfo("//IP//c$//) doesn't work. ...
1
by: tanvisethi | last post by:
Hi I have an asp.net web application. I am trying to access files from remote server (on local network) and unfortunately it isn’t working out. Problem is I am not sure if the error is cos the path...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.