From: Vladimir T. <pr...@hm...> - 2005-01-24 19:23:41
|
Hi, Pedro! > I am trying the ODBC 2.0 with FB1.5.2 and MS Access 2003 and the > employee.fdb and getting the following error: > on table JOB at record 30 i get " > The decimal field's precision is too small to accept the numeric you > attempted to add. (Error 3761)" > all fields on that record show #Error, the problem is with this one record > that has an huge salary, precision 10 and scale 2, the value as 9 digits so > it should be ok. It not so! :-) However look ODBC log file ================= MSACCESS ffe76e2b:ffea2833 EXIT SQLGetData with return code 0 (SQL_SUCCESS) HSTMT 0x07fe0930 UWORD 8 SWORD -8 <SQL_C_WCHAR> PTR 0x0c783f78 [ 24] "168000000.00" <----- All Ok! SDWORD 32000 SDWORD * 0x0062ec70 (24) ================= MS Access - the pedant! The MS Access for it's field execute read SQL_WCHAR See from ODBC help ==================== Display Size The display size of a column is the maximum number of characters needed to display data in character form. The following table defines the display size for each ODBC SQL data type. SQL type identifier Display size All character types [a] The defined (for fixed types) or maximum (for variable types) number of characters needed to display the data in character form. SQL_DECIMAL SQL_NUMERIC The precision of the column plus 2 (a sign, precision digits, and a decimal point). For example, the display size of a column defined as NUMERIC(10,3) is 12. =============================== Size = NUMERIC(10,2) = 10 + "+/-"(1) + "." = 12 from EMPLOYEE.fdb = 168 000 000.00 = 11 digit + "+/-"(1) + "." = 13 it's > 12 Max value NUMERIC(10,2) = +/- 99 999 999 . 99 > The lucky guy is the italian sales representative, shouldn't be to hard to > find since the table only has 31 records. > :-) > Thank you very much, and let me tell you i am simply amazed with the speed > of this new version, it rocks big time > It is pleasant to hear! A thank! -- Best regards, Vladimir Tsvigun |