Sql 如何将具有不同数据类型的列上的表连接在一起?
Microsoft Access实现在尝试执行打开某些查询的宏时引发类型不匹配错误。大多数表都链接到SQL Server,我需要将两个具有不同数据类型的表连接在一起 表A:Sql 如何将具有不同数据类型的列上的表连接在一起?,sql,database,ms-access,join,types,Sql,Database,Ms Access,Join,Types,Microsoft Access实现在尝试执行打开某些查询的宏时引发类型不匹配错误。大多数表都链接到SQL Server,我需要将两个具有不同数据类型的表连接在一起 表A: 参考文本 表B: 参考号 我通常希望在SQL Server端纠正这个问题,但是有多个应用程序访问同一个数据库,测试所有应用程序需要相当长的时间。此外,我们正在完全重写这个应用程序的过程中,我今天做的任何工作都是完全扔掉的 如果有一种方法可以在access中实现这种连接,我会节省各种时间…您提到的每个列的数据类型是什么 如果要
参考文本 表B:
参考号 我通常希望在SQL Server端纠正这个问题,但是有多个应用程序访问同一个数据库,测试所有应用程序需要相当长的时间。此外,我们正在完全重写这个应用程序的过程中,我今天做的任何工作都是完全扔掉的
如果有一种方法可以在access中实现这种连接,我会节省各种时间…您提到的每个列的数据类型是什么 如果要进行字符串比较,可以执行
Cstr(myNumericColumn)=myStringColumn
或者在数值模式下进行比较,您提到的每个列的数据类型是什么 如果要进行字符串比较,可以执行
Cstr(myNumericColumn)=myStringColumn
或者,要在数值模式下进行比较,请在Access中使用CLng(或Cint)函数将表A的参考值从文本转换为数字
我更愿意在SQLServer中创建表a的视图,以便在Access获取数据之前转换字段的数据类型。您不需要针对其他现有应用程序测试视图。当您的重写使视图不再有用时,只需放弃它 在Access中,您可以使用CLng(或Cint)函数将表A的参考值从文本转换为数字
我更愿意在SQLServer中创建表a的视图,以便在Access获取数据之前转换字段的数据类型。您不需要针对其他现有应用程序测试视图。当您的重写使视图不再有用时,只需放弃它 您可以在标准中进行比较
SELECT [REFERENCE], [REFNO]
FROM [Table a], [Table b]
WHERE [REFERENCE]=cstr(nz([REFNO],""))
您还可以在access中执行passthrough查询,该查询在sql server上执行并仅返回数据
SELECT [REFERENCE], [REFNO]
FROM [Table a], [Table b]
WHERE [REFERENCE]=cast([REFNO] as varchar(25))
HTH您可以在标准中进行比较
SELECT [REFERENCE], [REFNO]
FROM [Table a], [Table b]
WHERE [REFERENCE]=cstr(nz([REFNO],""))
您还可以在access中执行passthrough查询,该查询在sql server上执行并仅返回数据
SELECT [REFERENCE], [REFNO]
FROM [Table a], [Table b]
WHERE [REFERENCE]=cast([REFNO] as varchar(25))
HTH如上所述,tableA有一个文本列,tableB有一个整数列。你可以使用上面的任何一个,这取决于你希望进行比较的方式。我不知道你的意思。你能解释一下为什么在你的案例中使用Cstr或Clng没有帮助吗?如上所述,tableA有一个文本列,tableB有一个整数列。你可以使用上面的任何一个,取决于你希望进行比较的方式。我不知道你这是什么意思。您能解释一下为什么在您的案例中使用Cstr或Clng没有帮助吗?我可以通过在SQL DB上创建一个视图来实现这一点,然后将其引入Access并用查询视图替换表。感谢您的快速建议。我可以通过在SQL DB上创建一个视图来实现这一点,然后将其引入Access并用查询视图替换表。谢谢你的快速建议。