Microsoft Accessには、構造を変更できない2つのリンクされたテーブルがあります。
これらのテーブルの1つには整数形式のIDが含まれ、もう1つには同じIDが含まれていますが、文字列形式です。
私はこれらの分野に参加したいのですが、明らかに、MSAccessは私を許可していません。
この結合を作成するためにキャストなどを使用する方法はありますか?
ありがとう
Microsoft Accessには、構造を変更できない2つのリンクされたテーブルがあります。
これらのテーブルの1つには整数形式のIDが含まれ、もう1つには同じIDが含まれていますが、文字列形式です。
私はこれらの分野に参加したいのですが、明らかに、MSAccessは私を許可していません。
この結合を作成するためにキャストなどを使用する方法はありますか?
ありがとう
ID
が autonumber でt1
、 text がの場合、式でt2
使用して long integerに変換できます。CLng()
ON
t2.ID
SELECT *
FROM
t1 INNER JOIN t2
ON t1.ID = CLng(t2.ID);
または、他の数値型のVal()
代わりに使用できます。CLng()
ID
クエリ デザイナがデザイン ビューでこれとうまく連携できるかどうかはわかりませんが、SQL ビューで行うことができます。
t2
OTOH、テキスト ID を数値に変換する別のクエリ「qryT2」を作成することをお勧めします。
SELECT CLng(ID) AS numeric_ID, t2.*
FROM t2;
次に、最初のクエリを代用qryT2
しt2
て、クエリの設計者がより相性が良いと判断したものを使用できます。
SELECT *
FROM
t1 INNER JOIN qryT2
ON t1.ID = qryT2.numeric_ID;
デザイナーで に移動し、View > SQL View
結合句を次のように変更します。
ON CSTR(IntegerID) = StringID
もちろん、ID 名は異なる場合がありますが、アイデアを得る必要があります。