2

Microsoft Accessには、構造を変更できない2つのリンクされたテーブルがあります。

これらのテーブルの1つには整数形式のIDが含まれ、もう1つには同じIDが含まれていますが、文字列形式です。

私はこれらの分野に参加したいのですが、明らかに、MSAccessは私を許可していません。

この結合を作成するためにキャストなどを使用する方法はありますか?

ありがとう

4

2 に答える 2

3

IDが autonumber でt1、 text がの場合、式でt2使用して long integerに変換できます。CLng()ONt2.ID

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

または、他の数値型のVal()代わりに使用できます。CLng()ID

クエリ デザイナがデザイン ビューでこれとうまく連携できるかどうかはわかりませんが、SQL ビューで行うことができます。

t2OTOH、テキスト ID を数値に変換する別のクエリ「qryT2」を作成することをお勧めします。

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 に答える