【 MS Access 】 マルチパート識別子 ”[フィールド名]” をバインドできませんでした。

  • このエントリーをはてなブックマークに追加

はい どうもー! バーチャル のじゃアルファ ブロガーおじさんの僕です!

世の中 世知辛いのじゃー

 

MS Access でよく SQL ミスって 「マルチパート識別子 ”[フィールド名]” をバインドできませんでした。」 って怒られてしまう僕ですが、初めての人はマルチパート識別子って何?と戸惑うかもしれません。




こんなやつですね。

 

実はこれ、別に難しいことじゃなくて、「どっかとどっかのフィールド名が重複してるんでどっちを取ってきたらいいんですか?」ってことなんです。

例えば
kokyaku テーブルに jusho, flg, tanto_id というフィールドがあり、
tantoテーブルに id, flg というフィールドがあった場合、

 

以下のSQLで、

select kokyaku.jusho, flg from kokyaku
left join tanto on kyokyaku.tanto_id = tanto.id

flg は kyokyakuテーブルのですか? それともtantoテーブルのですか?

ということです。

 

kokyakuテーブルのflgであれば

select kokyaku.jusho, kokyaku.flg from kokyaku
inner join tanto on kyokyaku.tanto_id = tanto.id

 

tantoテーブルのflgフィールドであれば

select kokyaku.jusho, tanto.flg from kokyaku
inner join tanto on kyokyaku.tanto_id = tanto.id

で解決ですね。



おわり

 

ver.1.0.2

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。