473,320 Members | 2,107 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,320 software developers and data experts.

Run-time error 80004005 - HELP!

I am about to completely lose what is left of my poor mynd! The historical
dissertation gets rather verbose, so I hope you can wade through it all. I
really need some help on this one or I'm looking at rewriting all my hard
work in something else (wasting probably a month or more).

(If you want to run and hide now, the error message is "The decimal field's
precision is too small to accept the numeric you attempted to add." I
haven't yet found any real solution out there including MS's KB saying the
problem was first fixed in Jet v4.0 SP6 ... and I'm running Jet v4.0 SP8.)
All the tech tips I pulled up with Google seem to wander off to no solution.
I found one ancient newsgroup posting left unanswered. I've really been
trying to research and resolve this problem.

I'm using Access 2000 on a Win2K Pro with MDAC v2.8 and, as already
mentioned, Jet v4.0 SP8. All Connections and Recordsets are ADODB. The
destination table is a linked table originating from a FoxPro v3 database.
(Yeah, I know it's an antique, but I have to play the cards dealt.)

The link connection to the FoxPro tables is done through an ODBC DSN using
the "Microsoft Visual FoxPro Driver" (v6.01.8630.0, if it really matters).
The ODBC DSN is using the "Database type" of "Visual FoxPro database(.DBC)"
rather than the "Free Table directory." The Driver options are Collating
sequence => Machine; Exclusive => Off; Null => Off; Deleted => On; Fetch
data in background => Off. According to several MS KB articles, the "Visual
Foxpro database" option is the only method available. Just to make matters
worse, it appears MS is letting FoxPro die a slow death.

Using "Visual FixPro database (.DBC)" is required as it is the only way
Access will allow me a write enabled linked table. "Null = Off" is required
because old FoxPro v3 tables don't like fields populated with Null values.

I've tried programmatically building a Connection and relinking the tables
(and just linking them as new tables) using some ADOX methods, but kept
getting an error saying it "Could Not Find Installable ISAM". (There is no
ISAM driver for FoxPro anymore.) (MS KB 209805, 225861)

So ... I went back to ADO and CurrentProject.Connection.

With the FoxPro tables linked (and write enabled), I'd do something like:

Dim cnLocal as New ADODB.Connection
Dim rsMyTable as New ADODB.Recordset
Set cnLocal = CurrentProject.Connection
rsMyTable.CursorLocation = adUseClient
rsMyTable.Open "MYTABLE", cnLocal, adOpenDynamic, adLockPessimistic,
adCmdTable
With rsMyTable
.AddNew
!thisfield = thisValue
!thatfield = thatValue
.Update
End With

Everything runs fine until I hit one record where the value I intend to
inject is the numeric 240 originating from a column defined as Decimal with
a Precision of 9 and a Scale of 5. (Smaller numeric values go through just
fine, but I do not know precisely where the majik line of death is.)

The destination FoxPro column (by Access's definition) is Decimal with a
Precision of 11 and a Scale of 9.

Last time I checked, 240 fits well within the confines of the column
properties.

Just for grins, I went to the third-party application that actually uses the
FoxPro database, brought up the appropriate transaction form and updated a
record with the numeric value 240 just to prove the FoxPro database would
accept the value. Life was good, so I thought.

Going back to Access 2000, I brought up the table data, scrolled down to the
record and found "#Error" across all the columns of that one record. If I
let Access camp out with that record displayed for a length of time
(minutes), it would eventually burp out the error message mentioned at the
top.

Since Connection.Execute will process the basic SQL commands, I tried the
longhand approach. Leaving the recordset closed, I crafted an INSERT
statement and started pushing in records that way.

Again, life was fine ... until I reached that one entry with a numeric value
of 240, at which point I got the error message again.

I took the time to check the version of each and every DLL in the Jet v4.0
SP8 KB article (MS KB 239114). Every one checks out except:

Dao360.dll should be v3.60.8025.0 (is higher at v3.60.8618.0)
Msexcl40.dll should be v4.0.8015.0 (is higher at v4.0.8618.0)
Msjet40.dll should be v4.0.8015.0 (is higher at v4.0.8618.0)
Msjetoledb40.dll should be v4.0.8015.0 (is higher at v4.0.8227.0)
Msjint40.dll should be v4.0.8015.0 (is LOWER at v4.0.6508.0)
Msjtes40.dll should be v4.0.8015.0 (is higher at v4.0.8618.0)

The one that I suspect is MSJINT40.DLL. According to KB 239114, it is from
Jet v4.0 SP7. Reapplying Jet SP8 and/or MDAC v2.8 does nothing to upgrade
the version of this file.

I would really appreciate it if some knowledgeable individual here could
help me resolve this roadblock.

Nov 12 '05 #1
1 15815

"starwars" <no****@tatooine.homelinux.net> wrote in message
news:1c******************************@tatooine.hom elinux.net...
postgresql doesn't have this problem.


I think the cause has been discovered. 11 digits with 9 decimals allows for
a maximum number of 99.999999999.

Although the schema calls for numbers < 100, the storage allocated to the
column may have been rounded up to fit a comfortable number of words. Access
(and Jet) are taking the column definition literally causing them to crash
and burn on numbers => 100 while applications written in FoxPro, and also
Crystal Reports, just chug on by with no problems.

I'm going after the third-party application vendor now to see if the schema
definition could be changed without impacting the application and for
confirmation or denial of my hypothesis.
Nov 12 '05 #2

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

Similar topics

3
by: leroybt.rm | last post by:
Can someone tell me how to run a script from a interactive shell I type the following: >>>python filename >>>python filename.py >>>run filename >>>run filename.py >>>/run filename >>>/run...
4
by: Ed | last post by:
Hello, I took a course in asp about 2 years ago and I was practicing with IIS 5.0. Then I put it down for a while. Now trying to get back to it. I can't run asp files from subdirectories of...
2
by: Jenna Olson | last post by:
Hi all- I've never seen this particular issue addressed, but was wondering if there's anything to support one way or another. Say I have a class: class ManipulateData { public:...
15
by: mg | last post by:
How can I run an .exe using C# from within the code behind of a WebForm app?
6
by: billr | last post by:
I have developed a small API for taking care of a lot of boiler plate stuff in a multi formed windows application, for example setting up a messaging thread framework. New Forms, in the...
13
by: Bob Day | last post by:
Using vs2003, vb.net I start a thread, giving it a name before start. Code snippet: 'give each thread a unique name (for later identification) Trunk_Thread.Name = "Trunk_0_Thread" ' allow...
9
by: Brett Wesoloski | last post by:
I am new to VS2005. I changed my program.cs file to be a different form I am working on. But when I go to run the application it still brings up the form that was originally declared as new. ...
7
by: Lee Crabtree | last post by:
I remember when I was first getting into .NET Forms programming that there was a rather emphatic rule about not constructing a form before calling Application.Run with it. So this: ...
3
by: traceable1 | last post by:
Is there a way I can set up a SQL script to run when the instance starts up? SQL Server 2005 SP2 thanks!
7
by: mxdevit | last post by:
Task: run application from ASP.NET for example, you have a button on ASP.NET page, when press this button - one application is invoked. the code to run application (for example, notepad) is...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

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.