MS-Accessに関するdhpのブックマーク (2)

  • 【Access】 あれば更新なければ追加

    データベースを使ったシステムを開発しているとよくテーブルからデータを抽出して、ワークテーブルで編集してまたテーブルに格納するなんてことをやるんですが、そんなとき2つのテーブルを比較して、データがあれば更新なければ追加といったことをします。 例えば次のようなテーブルがあったとします。 T_Animals(テーブル) 4:サル → 4:キツネザル に変更 9:カバを追加 この更新と追加をテーブルに反映させるにはクエリで次のようにやります。 ■あれば更新 UPDATE T_Animals AS T1 INNER JOIN W_Animals AS T2 ON T1.ID = T2.ID SET T1.AnimalName = T2.AnimalName; ■なければ追加 INSERT INTO T_Animals ( ID, AnimalName ) SELECT T2.ID, T2.A

    【Access】 あれば更新なければ追加
    dhp
    dhp 2019/07/17
    Insert/Updateを簡単にする方法
  • Access VBA SQL 3つのテーブルを結合してデータを抽出する

    SQL「LEFT JOIN」を使って、3つ以上の表を結合させる方法 AccessVBA で普通に join を使うと、2つまでしか結合できません。 が、下のように結合した表を括弧で囲んでやり、それを1つの表としてやると、 3つ以上の表を結合できます。 ※テーブル名:TA,TB,TC ※フィールド名:b,c,id ※「TAテーブル」の全レコードに、 「TAテーブルのbフィールド」と「TBテーブルのidフィールド」が一致する「TBテーブル」のレコード、 「TAテーブルのcフィールド」と「TCテーブルのidフィールド」が一致する「TCテーブル」のレコードを 結合させる SELECT TA.*,TB.*,TC.* FROM( TA LEFT JOIN TB ON ( TA.b = TB.id ) ) LEFT JOIN TC ON ( TA.c = TC.id ) ; また、中学生?のころに習った

    Access VBA SQL 3つのテーブルを結合してデータを抽出する
    dhp
    dhp 2019/07/17
    仕事で久々にACCESSを使うと焦る・・・。参考になりそうなサイトをメモしておこう
  • 1