All the values in the oracle db had been inserted manually over time
by typing them in. Then we copied some of them using a little tool,
which read em in and inserted new entries. Those new entries produced
the errors. I suppose that the copy process (using java BigDecimal /
hibernate percistency framework) messed with the accuracy of the
values somehow and Access got into troubles....
Steve Jorgensen <nospam@nospam.nospam> wrote in message news:<hplg40913pj0cilkpneafra3ptiurbkpmp@4ax.com>. ..[color=blue]
> Hmm, if they were alreasy NUMBER, I'm surprised that was the problem. I've
> only seen the problem when a floating point type was used on the server.
>
> On 4 Mar 2004 23:11:51 -0800,
markus_fried@gmx.de wrote:
>[color=green]
> >We already use the Oracle NUMBER (sorry for using the term 'float')
> >data type (the Oracle tables are linked via ODBC into Access) - so I
> >don't know what I should change here.....
> >
> >
> >
> >Steve Jorgensen <nospam@nospam.nospam> wrote in message news:<b7rd40dgjed8ddut52of0qpjed8642ncfo@4ax.com>. ..[color=darkred]
> >> Well, that's a partial solution, but not perfect. See, the problem is that
> >> the rounded decimal values won't all convert perfectly into binary fractions.
> >> For the most part, they will all convert the same kind of wrong, but not
> >> necessarily, so you can still have problems. It's better to change the data
> >> type to a NUMBER or DECIMAL type with a fixed precision.
> >>
> >> On 3 Mar 2004 23:20:57 -0800,
markus_fried@gmx.de wrote:
> >>
> >> >Hi,
> >> >
> >> >thanks for your help - I found out about the float problems shortly
> >> >after posting this here. The solution was simple: Do a SQL to round
> >> >all values to 10 digits. I don't know what the max number of digits in
> >> >a float is that Access can handle, but 10 are ok for me.
> >> >
> >> >Again thanks for your help.
> >> >
> >> >Markus.
> >> >
> >> >Steve Jorgensen <nospam@nospam.nospam> wrote in message news:<l07b4014b4o45p7j6k15a5q4cai1ggcn1l@4ax.com>. ..
> >> >> On 2 Mar 2004 23:23:58 -0800,
markus_fried@gmx.de wrote:
> >> >>
> >> >> Access doesn't handle certain data types well in linked tables, specifically,
> >> >> floating point numbers and date/time values that can contain milliseconds.
> >> >> Access uses a where clause to compare the existing data with the pre-edit
> >> >> data, and this can fail due to rounding error when converting to text and back
> >> >> again since floating point fractional numbers may not have an exact decimal
> >> >> representation and Access doesn't understand times with increments smaller
> >> >> than 1 second.
> >> >>
> >> >> Mostly, if you try to use Number, Decimal, or Money types rather than Real or
> >> >> Float types, and avoid anything that could put milliseconds into a time value,
> >> >> Access is happy.[/color][/color][/color]