我在不同的链接表中有两个字段,它们的数据相同,但数据类型不同。我无法更改表中的数据类型。我正在尝试基于此数据将两个表连接在一起的查询,但由于类型不同,我需要将数字转换为字符串。我一直在尝试的基本上是这样的:
...
FROM Table1 LEFT JOIN Table2 ON CStr([Table1].[Column]) = Table2.Column
...
我只是不断收到错误消息,主要是“不支持连接表达式”。
任何人都可以阐明我可能做错了什么/我可以做得更好吗?
谢谢你。
我在不同的链接表中有两个字段,它们的数据相同,但数据类型不同。我无法更改表中的数据类型。我正在尝试基于此数据将两个表连接在一起的查询,但由于类型不同,我需要将数字转换为字符串。我一直在尝试的基本上是这样的:
...
FROM Table1 LEFT JOIN Table2 ON CStr([Table1].[Column]) = Table2.Column
...
我只是不断收到错误消息,主要是“不支持连接表达式”。
任何人都可以阐明我可能做错了什么/我可以做得更好吗?
谢谢你。
这是您FROM
重新格式化的子句:
FROM
Table1.Column
LEFT JOIN Table2.Column
ON CStr([Table1].[Column]) = Table2.Column
请注意,它使用Table1.Column
和Table2.Column
作为数据源。这些是列(字段),而不是表(真实或虚拟)。
试试这种方式:
FROM
Table1
LEFT JOIN Table2
ON CStr([Table1].[Column]) = Table2.Column
Access 的查询设计器无法处理在 ON 表达式中包含函数的 JOIN。尽管我没有看到使您的问题中的问题混淆的证据,但我建议您通过将以下语句粘贴到“立即”窗口并在那里执行来排除这种可能性。
Set rs = CurrentDb.OpenRecordset( _
"SELECT Count(*) AS row_count" & vbCrLf & _
"FROM Table1 AS t1" & vbCrLf & _
"LEFT JOIN Table2 AS t2" & vbCrLf & _
"ON CStr(t1.[Column])=t2.[Column];") : _
? rs(0) : _
rs.Close : _
Set rs = Nothing
请注意,这些行继续字符(下划线、“_”)中的每一个都必须以空格开头,并且后面不能有任何字符。