• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2000でのINSERT文の作成マクロについて)

Access2000でのINSERT文の作成マクロについて

nda23の回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

疑問1 会員がどの会費区分になるのかを示す項目がない。 会員TBLの会員区分IDと会費TBLの会費区分IDは同じ意味のコード系か? 疑問2 請求金額が納付されたかどうかを示す項目がない。 これではプログラム実行の度に全員に請求データが挿入される。 少なくとも請求TBLには会員のID、会費年度、納金有無 という 項目が必要と考えられるが・・・ 疑問3 請求TBLへの挿入でエラーにならないようにするためには重複不可の キー項目を知らなければならないが、それが示されていない。

noa104
質問者

補足

気ばかりが焦り、助言をいただこうとしておきながら現状の説明さえ出来ていませんでした。 回答1 会員TBLには全会員に会費区分を持っており、この内容は会費TBLの会費区分IDとなっています。 尚、会費TBLの主キーは会費区分IDです。 回答2・回答3 請求テーブルへは年に1度任意のタイミングで全会員分の請求レコードを作成します。処理実行の度に全会員分の請求レコードを作成したいのです。 今はこの全会員分の請求レコードの作成過程で止まってしまっています。 請求TBLには、請求ID(主キー:オートナンバー)、会員ID、会費区分ID、請求金額、請求日(レコード作成日)をフィールドとして保持しています。 この請求に対しての入金の有無は別テーブルで管理しようと考えています。

関連するQ&A

  • Accessクエリ

    Accessのクエリでお教えください。 次のようなテーブルデータがあったとき 会員tbl 都道府県、区分、氏名 東京    1   山田 東京    1   田中 東京    2   佐藤 大阪    1   伊藤 福岡    2   鈴木 都道府県別区分別の件数を出したいのですがどのようなクエリにしたらできるのでしょうか。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 大阪    2   0 福岡    1   0 福岡    2   1 SELECT 会員tbl.都道府県, 会員tbl.区分, Count(会員tbl.氏名) AS 氏名のカウント FROM 会員tbl GROUP BY 会員tbl.都道府県, 会員tbl.区分; デザインビューで設定したものをSQLビューで表示したものです。 これですと次のようになってしまいます。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 福岡    2   1 0件も表示したいのです。

  • AccessでInsertした際に前ゼロをつけたい

    AccessのバージョンはAccess2007です。 テーブル(TBL_A)のカラム(COL_A2)はテキスト型、桁数が3文字で、 下記のようなInsert文でTBL_Aにレコードを登録しようとしています INSERT INTO (COL_A1, COL_A2) TBL_A VALUES('000000001', '1'); このとき、COL_A2に登録される値を'1'ではなく'001'としたいのですが、 INSERT文自体を修正することができません。 ACCESSのTBL_Aの書式等を変更することは可能なのですが、 前ゼロをつけて登録することはできるのでしょうか。

  • ACCESSでINSERT文を行うとき

    ACCESSで[入力テーブル]から[実績テーブル]へINSERT文を行うと、[実績テーブル]に追加されたレコード順番が、[入力テーブル]に書き込まれたレコードの順番と合わなくなってしまいます。 例 [入力テーブル]   [実績テーブル] --------------------------------------------- A         → A B         → C C         → D D         → B とくにORDER BY句を使っているわけではないのですが、原因として何が考えられるのでしょうか? どちらのテーブルにもIDを持ってそのIDでソートすれば良いのかもしれないのですが、ワケあって入力テーブルにIDを持たせるのが難しいのです。 アドバイスお願いいたします。

  • ACCESS SQLのINSERTについて

    TBLというテーブルにINSERT文を使用して1行レコードを追加したいです。TBLテーブルのカラムAにはシステム日付を、カラムBには別テーブルのselect count(*)の実行結果を挿入したいのですがうまくいきません。何か良い方法はございませんでしょうか? INSERT INTO カウンタ統計 ( [DATE], USER_COUNT ) VALUES (date(), (SELECT COUNT(*) FROM hiplus_HW_USER)); ※日付は問題なく挿入できるのですがSELECT文の結果が挿入できない状況です。宜しくお願いします.

  • 見たことのないINSERT文

    お世話になります。 他人の書いたSQLを解析して以下のようなコードを見つけました。 CREATE TABLE OYA ( ID NUMBER NOT NULL, NAME VARCHAR2(10) ) / CREATE TABLE KO ( ID NUMBER NOT NULL, OYA_ID NUMBER NOT NULL, NAME VARCHAR2(10) ) / INSERT INTO ( SELECT ID ,OYA_ID ,NAME FROM KO WHERE EXISTS ( SELECT ID FROM OYA WHERE NAME LIKE '%1' ) ) VALUES ( 1 ,1 ,'KODOMO-1' ); INSERT文でテーブル名を指定するかわりにSELECT文を指定しています。 SELECT INSERT文は知っていますが、このような表記は初めてです。 (文法エラーにならないのに驚きました) おそらく意図するところは、ある条件に一致したOYAが存在する場合に、KOをインサートするのだと思いました。 実際は、OYAがなくてもINSERTは実行されてしまいますが。。。 このような表記のINSERT文の説明が書いてあるサイトをご存知の方がいらっしゃいましたら、よろしくお願いします。

  • Accessへ日付をINSERT

    今Access2000のテーブルから文字として受け取ったデータを 同じくAccessの別テーブルの日付型にINSERTしようとしています。 ソフトはVC6.0を使用しています。 受け取るSELECTはうまくできています。 UCHAR sqlstr [ ] ="INSERT INTO テーブル名"           "(カラム1、カラム2、カラム3)"           "VALUES(?,?,?)"; INSERTはこのようにSQL文を用意しておいてSQLExecuteで SQL文を実行しようとしています。 この場合にカラム1が日付型だとしたら、 「?」のパラメータには文字として渡し、 SQL文のなかで "VALUES(to_date(?,'YYYYMMDD'),?,?)"; とすればうまくいくと思ったのですができません。 いろいろサイトを見るとAccessでは「’」ではなく「#」を使うと 書いてあったので to_date(?,#YYYYMMDD#) とやったのですがエラーになってしまいます。 ちなみにパラメータとして渡す文字列は「20020413」という 8桁の普通の文字です。 どなたか知っている方いませんでしょうか? 他に方法があればそれでも構いません。 どうか教えてください。m(__)m どうしても先へ進めません…。

  • insert した結果を insert する

    SQLServerを使用してinsertした結果をinsertしたいのですが、そのクエリをどう書けばいいのか分からず困っています。(ちなみに1000行データを作成したいです) 具体的には下記のような内容です。 (1)注文テーブル[Id, 注文内容,注文個数,顧客Id←(2)のIdのことです)] (2)顧客テーブル[Id, 名前,住所] テストデータを作成するために、(2)のデータをinsert文で登録し、その登録したデータのIdをさらに(1)のテーブルの顧客Idに挿入したいです。 上記にも記載しましたが、このデータを1000行作成する方法も知りたいです。 説明が分かりにくいうえに、不足している箇所があるかもしれないのですが、 どなたか分かる方がいればぜひ教えていただきたいです。 よろしくお願いします。

  • ACCESS 1クエリでの複数ALTER文

    ACCESS2007で複数テーブルのカラム属性を一括して変更したいのですが、1クエリで複数のALTER文は実行できないのでしょうか? 構文エラーで停止してしまいます。 ALTER TABLE TBL_ID1 ALTER COLUMN SEQ INTEGER; ALTER TABLE TBL_ID2 ALTER COLUMN SEQ INTEGER; どなたか御教え願えないでしょうか。

  • SQL INSERT文を作成したいのですが

    お世話になります。 INSERT文を作成したのですが条件が多すぎて難しいです。 教えてください。 ・AテーブルにB・C・D・Eテーブルを元にデータを抽出しINSERT処理をしたいです。 ・データはBテーブル(親)の項目1が'10'の場合 ・結合条件はCテーブル(子)=B.項目2 = C.項目2 Dテーブル(子)=B.項目2 = D.項目2 Eテーブル(子)=B.項目2 = E.項目2 アドバイスをよろしくお願いします。          

  • accessの SQL文 INSERT命令

    次のような命令文でを実行すると [INSERT INTOステートメントの構文エラーです。] と エラーメッセージがかえってきます。 文中 介護メモはテーブル名、()内の項目名はフォーム上に定義したテキスト項目名です。テーブルのフィールドは()内のほかデータ型がオートナンバー形式のIDが定義されています。 DoCmd.RunSQL "insert into 介護メモ value(,利用者,日付,身体単位,生活単位,開始時刻)", -1