Forum Discussion
MS Access Data Type Number Greater Than 28
One thing you could try is coercing it to an appropriate number data type for the join.
However, I'm not sure what you mean by "Number(38,0)", so I'm not sure about this. Are you referring to what would actually be Decimal(28,0) or Decimal(38,0) in the Access table?
Also what is the data type of the field you want to use in this join? There are several conversion functions expressions, one of which should be appropriate.
George_Hepworth Snowflake has fields set to Number(38,0). First photo below. When linking this table (second screen shot), it shows up as short text. On the second photo below, the yellow highlighted fields are ones I would join on ... getting data type mismatch error. I think the only thing I can do is use the conversion functions as you mentioned. The Snowflake numeric max is 38, and is used for a large number of fields. The conversion functions will be a challenge to apply to so many fields I need to use in my queries (linking, calculations, etc). I was hoping there was a better solution. My hope is that Microsoft would consider the 38 length numeric value, considering the potential for those linking via ODBC to Snowflake. Thank you.
- George_HepworthSep 20, 2021Silver Contributor
Thank you for clarifying. As Gustav noted, the max precision for decimals in Access is 28, although SQL Server and other server based RSBMS's support 38. In other words, MS does support the greater precision in SQL Server, just not in Access.
I wasn't aware, though, that Snowflake (and perhaps other databases?) refer to it as a more generic "number" instead of "decimal".
One other though occurs to me, although it's probably not feasible. I might see if I could create views that convert those fields to the Number(28,0) precision and use those views in Access instead of the original tables.