5

同じデータでデータ型が異なる、別々のリンクテーブルに2つのフィールドがあります。テーブルのデータ型を変更できません。このデータに基づいて2つのテーブルを結合するクエリを試していますが、タイプが異なるため、数値を文字列に変換する必要があります。私が試しているのは、基本的に、これです。

...
FROM Table1 LEFT JOIN Table2 ON CStr([Table1].[Column]) = Table2.Column
...

ほとんどの場合、「Joinexpressionはサポートされていません」というエラーメッセージが表示され続けます。

誰かが私が間違っているかもしれないこと/私がもっと良くできることについていくつかの光を当てることができますか?

ありがとうございました。

4

1 に答える 1

1

これが再フォーマットされたあなたのFROM条項です:

FROM
    Table1.Column
    LEFT JOIN Table2.Column
    ON CStr([Table1].[Column]) = Table2.Column

Table1.ColumnTable2.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

これらの各行継続文字(アンダースコア、「_」)の前にはスペースを付ける必要があり、後に文字を含めることはできません。

于 2012-06-22T04:26:53.473 に答える