SQLステートメントのFROM句の修正方法

このQ&Aのポイント
  • Access2000を使用している中で、クエリでテーブルを参照している際にテーブルの変更がありました。役職単価を追加するためのフィールドをテーブルに追加しましたが、SQLステートメントのFROM句で複数のテーブルを参照しているため、指定されたフィールドが存在しないというエラーメッセージが表示されました。
  • 役職単価をクエリに追加する方法は複数ありますが、一つの方法としては、役職単価を追加したテーブルをFROM句に追加し、JOIN句やWHERE句などでテーブルを結合して役職単価を取得する方法です。
  • 具体的には、役職単価を追加したテーブルをFROM句の一部として追加し、JOIN句で他のテーブルと結合します。また、必要に応じてWHERE句やその他の条件を追加してデータを絞り込むこともできます。修正後のSQLステートメントを適用することで、役職単価を取得することができます。
回答を見る
  • ベストアンサー

SQLステートメントのFROM句・・・

いつもお世話になっています。 早速ですが・・Access2000を使っている中で質問です。 クエリでテーブルを参照していたのですが、テーブルのほうで変更があり、1フィールド追加しました。 簡単な流れは・・・ 業務のかかった時間に役職単価をかけてやり、1業務ごとに人件費を算出する その中で、役職単価は社員名を選ぶと「役職リスト」とリレーして役職単価を自動で出すようにしていましたが、色々問題があり単純にダウンメニューで「役職リスト」を参照し、役職単価をレコードごとに記録していく方法に切り替えました。 その際、クエリを先にいじればよかったのかもしれませんがテーブルに今まで社員を判別するためのIDフィールドはあったのですが役職単価がなかったのでフィールドを追加しました。 すると・・・クエリの修正を行なおうと開こうとすると 指定されたフィールド'[役職単価]'がSQLステートメントのFORM句にある複数のテーブルを参照しました。 と出て以下(文字数制限でした別枠に書きます)のSQLコードをはきだしました。 SQLコード内で役職単価を追加してやればいいのかもしれませんが 何所にどうやって追加して良いのか分かりません。 アドバイスをいただけるとうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

追加したフィールド名が他のテーブルで使用しているものとバッティングしたのですね そういう場合はフィールド名の前にテーブル名をピリオドでつないでやります テーブル名.フィールド名 SQLは関係ないですね

suiko_wkk
質問者

お礼

なるほど! 参考になりました。 ありがとうございました。

関連するQ&A

  • 指定されたフィールド SQLステートメントのFRO

    指定されたフィールド SQLステートメントのFROM句にある複数のテーブルを参照しました というエラーで困っています 会社で使っているアクセスのクエリにT0501テーブルを追加しましたらエラーが出ました どちら様か お助け下さい。 環境 Windows10/Office2019

  • ACCESS SQLステートメントについて初心者です。

    お知恵を貸してください。 ACCESSでSQLステートメントで 『Aテーブル』 ID  商品コード1 商品コード2 1    1111    2222 2    2222    3333 3    4444    5555   『Bテーブル(商品コードマスター)』 商品コード  商品名 1111     ああああ 2222     いいいい       3333     うううう 4444     ええええ 5555     おおおお AテーブルとBテーブルを結合して ID  商品コード1 商品名    商品コード2   商品名 1    1111  ああああ     2222    いいいい 2    2222  いいいい     3333    うううう 3    4444  ええええ     5555    おおおお というCテーブルを作りたいです。 商品コード1と商品コード2の両方共 Bテーブルの商品コードから商品名を取得したいのですが、できないのですが・・・・ 出来ればBテーブル(商品コード)を2つ作くったり等したくないのですが、SQLステートメントでどう記述すれば良いですか?      

  • access 簡単な関数

    access2007で売上管理を作ろうと始めたのですが、クエリで金額:[単価]*[数量]と入れると 指定されたフィールド’○○○’がSQLステートメントのFROM句にある複数のテーブルを参照しました とエラーになってしまいます 在庫のテーブルの[数量]の名前を変えて解決はしたのですが、 テキストを買ってきてそれをその通りにしたのになぜできないのか ヘルプを見てもよくわからないので、気が向いたらどなたか回答お願いします

  • アクセス2000の初歩的な質問ですが。

    今、本を見ながらアクセスで売上管理のデータを作り始めたばかりで、アクセスに関する知識が乏しいのでおしえてください。クエリの中で「金額」の演算フィールドに金額:[単価]*[数量]と入力した場合、「指定されたフィールド”[単価]”がSQLステートメントのFROM句にある複数のテーブルを参照しました。と、エラーになってしまいます。まだまだ初歩の段階で、これが何を指しているのかわからないんです。どうか解る方、知識をお貸し下さい。宜しくお願いいたします。

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • クエリ上でフィールド名が2つあるときの見分け方

    初心者です。 テーブルを複数使って、クエリを作っているのですが、 『&』でフィールドをつなごうとしたとき、 「指定されたフィールド'[会員種別ID]'がSQLステートメントのFROM句にある複数のテーブルを参照しました」 と言うエラーが出てきます。 多分これは、T_顧客リストとT_会員種別の両方に[会員種別ID]があるので区別がつかないと言う事だと思います。 (間違っていたら正しい意味を教えていただけますか?) だから、どうしたら区別できるのでしょうか?

  • SQLでフィールドの順番を変更したい

    お世話になっております。 ORACLEを使用しております。 既存のテーブルに新しいフィールドをSQL文にて ALTER TABLE TEST_MST ADD TEST_CD VARCHAR2(2); と言う風に、SQL*PLUSにて追加いたしました。 これを参照しますと、 追加したフィールドがテーブルの一番最後のフィールドに 追加されているのですが、 フィールドの順番を変更したいと考えております。 SQL文にて何か方法はございませんでしょうか。 ご返答を宜しくお願い致します。

  • SQL分のWHERE句について

    SQLのWHERE句について ================================== ABC :入力値(2又は5バイトの可変) T.テーブル.フィールド:ABCが格納されているテーブル(格納すると同時に5桁になります。) 例:01(入力値)⇒01000(格納値) ================================== 参照時のWHERE句の作成の仕方を教えてください。 ※検索値が2桁の場合は、格納値5桁の前方2桁一致でHITさせます。  また5桁の場合は、格納値5桁の全一致です。 今考えているのでは、 IF ABC <> "" THEN IF LenB(ABC) = 2 THEN SQL_WHERE = SQL_WHERE & "AND (LEFT(T.テーブル.フィールド,2) = '" & ABC & "' )" ELSEIF SQL_WHERE = SQL_WHERE & "AND (T.テーブル.フィールド = '" & ABC & "')" END IF END IF です。 宜しくお願いします

  • フォームのレコードソース(Access2000)

    質問させていただきます。 フォームの「レコードソース」でテーブルとクエリーのほかに、「SELECT テーブル名、フィールド名・・・」というのがあります。これもクエリーなのでしょうか? ちなみに、レコードソースの右にある「---」をクリックすると「SQLステートメント:クエリビルダ」というものが開きます(クエリー画面と同じ?)。 また、フォームのレコードソースはテーブル、クエリー、SOLステートメントのどれにすれば良いのでしょうか?

  • ACCESSでクエリ作成時複数のフィールドを同じマスタ項目から抽出する方法

    ACCESSでクエリを作成しています。テーブルは”売上明細”と”社員マスタ”があります。売上明細には”担当者CD”と”加工者CD”というフィールドがあって、それぞれのフィールドが、同じ社員マスタの”社員CD”をキーに”社員名”を抽出したいのですが、「あいまいな外部結合が含まれているので、SQLステートメントを実行できません。第一次結合を実行する分割クエリを作成し、SQLステートメントにそのクエリを含めてください」とメッセージが出ます。どこにどのように設定すればいいのでしょうか?優先順位は特にありませんが、最初に設定されている担当者CDを第一次結合とする場合どうすればいいのでしょうか?この第一次・第二次はどのような意味があるのでしょうか?まだVBAは手付かずで、初心者です!これから学習しようとしているところです。よろしくお願いいたします。

専門家に質問してみよう