2

在 Microsoft Access 中,我有两个无法更改其结构的链接表。

其中一个表包含整数格式的 ID,另一个包含相同的 ID,但采用字符串格式。

我想加入这些领域,但显然,MS Access 不允许我这样做。

有没有办法,可能使用铸造或类似的东西来创建这个连接?

谢谢

4

2 回答 2

3

如果ID是 autonumber int1和 text in t2,您可以CLng()ON表达式中使用转换t2.ID为长整数。

SELECT *
FROM
t1 INNER JOIN t2
ON t1.ID = CLng(t2.ID);

或者您可以使用Val()而不是CLng()其他ID数字类型。

我不确定查询设计器在设计视图中与此协作的效果如何,但您可以在 SQL 视图中进行。

OTOH,您可能更喜欢创建一个单独的查询“qryT2”,用于t2将文本 ID 转换为数字。

SELECT CLng(ID) AS numeric_ID, t2.*
FROM t2;

然后,您可以在第一个查询中替换qryT2t2并使用查询设计者认为更合适的查询。

SELECT *
FROM
t1 INNER JOIN qryT2 
ON t1.ID = qryT2.numeric_ID;
于 2012-07-25T14:00:06.857 回答
2

转到View > SQL View设计器中,并将您的联接子句更改为:

ON CSTR(IntegerID) = StringID

当然,您的 ID 名称可能会有所不同,但您应该了解这个想法。

于 2012-07-25T13:59:44.200 回答