单个Query的临时数据类型转换

时间:2014-04-03 14:56:34

标签: ms-access ms-access-2007

好吧,我意识到我要问的可能是不可能的,我可以忍受。但如果有可能它会让我的生活变得更轻松。

在我的MS Access数据库中,我试图查询2个表。这些表都链接到我的Access DB,一个链接到包含来自单独DB2数据库的转储的Excel文件(MSSB Reps DTP)。 我的查询中的另一个表(SalesPage DNK Rep Query)链接到另一个Access DB,后者又链接到SQL数据库。以下是查询设计屏幕的图像:

My Accdb Query Design Screen

表链接的地方并不重要,因为它们是链接表,因为这是MS Access,所以我无法编辑表。因此,我不能简单地进入任何一个表的设计模式并更改给定列的数据类型。

每个表都有一个名为CRD Number的列。我想基于此列在这两个表之间创建内部联接。只是一个简单的,日常的内在联接。但是,我不能,因为CRD Number列存储为MSSB Reps DTP表的数字,而存储为SalesPage DNK Rep Query表中的文本。

我想知道是否有某种方法暂时使用功能将CRD Number列从MSSB Reps DTP表“强制转换”为文本,以便我可以运行此查询。但是,任何解决方案将不胜感激。只是不要告诉我编辑Excel文档。我正在努力避免出于各种原因。

1 个答案:

答案 0 :(得分:1)

您可以使用CStr将数字转换为文字。

SELECT *
FROM
    [MSSB Reps DTP] AS m
    INNER JOIN [SalesPage DNK Rep Query] AS s
    ON CStr(m.[CRD Number]) = s.[CRD Number];

Access查询设计器可能拒绝在设计视图中显示该连接,但您可以切换到SQL视图并编辑语句文本。