過去ログ

                                Page     420
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼INSERT INTOの使い方  ぱぶろん 03/10/31(金) 11:47
   ┗Re:INSERT INTOの使い方  クロ 03/10/31(金) 14:12
      ┗Re:INSERT INTOの使い方  ぱぶろん 03/10/31(金) 15:16
         ┗Re:INSERT INTOの使い方  クロ 03/10/31(金) 15:40
            ┗ありがとうございました!!  ぱぶろん 03/10/31(金) 15:49

 ───────────────────────────────────────
 ■題名 : INSERT INTOの使い方
 ■名前 : ぱぶろん
 ■日付 : 03/10/31(金) 11:47
 -------------------------------------------------------------------------
   お世話になります。

いままで簡単に登録フォームをつくり、入力をしていたのですが
入力した内容ってそのまま登録されていますよね?
(ビギナーすぎて本当に申し訳ありません(≧≦))

その内容ををコマンドボタンを押した時にだけ
テーブルにレコードを追加したいのですが
クリックしたときのイベントプロシージャの中身って
どのように記述すればいいのでしょうか???
INSERT INTOを使うと思うのですが・・・
その使い方がよく分かりません。
宜しくお願いします。

 ───────────────────────────────────────  ■題名 : Re:INSERT INTOの使い方  ■名前 : クロ  ■日付 : 03/10/31(金) 14:12  -------------------------------------------------------------------------
   >その内容ををコマンドボタンを押した時にだけ
>テーブルにレコードを追加したいのですが

この部分はフォーム上で入力したものをレコードソースになっている
テーブルに書き込む(追加)したいと言うことでしょうか?

でしたら簡単に同型のテーブルを用意(ワークテーブル)して
本テーブルにデータを書き込む方法が簡単だと思います。

>クリックしたときのイベントプロシージャの中身って
>どのように記述すればいいのでしょうか???
>INSERT INTOを使うと思うのですが・・・

以降ワークテーブルを使うと言う前提で…

INSERT INTOはクエリでいう追加クエリのことなので
追加クエリを作成後SQLビューで開いてみればどうなっているか
わかると思いますよ。

VBAでは
Dim strSQL As String
Dim dbs As DAO.Database

strSQL = "INSERT INTO..." 先程のSQLビューで見たSQL文

Set dbs = CurrentDb
dbs.Execute strSQL
dbs.Close

マクロであれば
アクション:クエリーを開く
クエリ名:先程の追加クエリ名
ビュー/データモードは既定値のまま

でいいと思います。

 ───────────────────────────────────────  ■題名 : Re:INSERT INTOの使い方  ■名前 : ぱぶろん  ■日付 : 03/10/31(金) 15:16  -------------------------------------------------------------------------
   ご回答ありがとうございます。

>でしたら簡単に同型のテーブルを用意(ワークテーブル)して
>本テーブルにデータを書き込む方法が簡単だと思います。
現在のフォームのテキストボックスのコントロールソースを
新しく作るテーブルのフィールドに連結すれば良いのでしょうか?

フォームのテキストを直接参照して追加するのは
無理でしょうか?

 ───────────────────────────────────────  ■題名 : Re:INSERT INTOの使い方  ■名前 : クロ  ■日付 : 03/10/31(金) 15:40  -------------------------------------------------------------------------
   >現在のフォームのテキストボックスのコントロールソースを
>新しく作るテーブルのフィールドに連結すれば良いのでしょうか?

現フォームのレコードソースとなっているテーブル(仮にT_DATA)を
ワークテーブルとします。
データベースウインドウでテーブルをクリックし、レコードソースとなっている
テーブルを右クリックで「名前をつけて保存」(これを本テーブルにしますので
適当な名前をつけてください。仮T_DATAMasterとします)

これで複製が出来ましたので現在のT_DATAテーブルの内容を削除します。

次にクエリを作成します。
追加クエリ...
1.新規作成→デザインビュー→T_DATAテーブルを追加
2.クエリデザインで現れたテーブルの「*」をD&Lでフィールドに落とします。
3.メニュー→クエリ→追加→追加先テーブル(T_DATAMaster)を選択
これで適当な名前をつけ保存します。SQLビューで見ればSQL文が確認できます。

次にT_DATAテーブルにレコードが残っていると次の追加クエリ時に問題があるので
削除クエリを作成します。
削除クエリ...
1から2まで同様
3.メニュー→クエリ→削除
これで適当な名前をつけ保存します。

簡単なのでマクロで説明します。
コマンドボタンのクリック時のマクロに
1行目...
アクション:クエリーを開く
クエリ名:先程の追加クエリ名
ビュー/データモードは既定値のまま
2行目...
アクション:クエリーを開く
クエリ名:先程の削除クエリ名
ビュー/データモードは既定値のまま

これでいいと思います。

 ───────────────────────────────────────  ■題名 : ありがとうございました!!  ■名前 : ぱぶろん  ■日付 : 03/10/31(金) 15:49  -------------------------------------------------------------------------
   こんな初歩的な問題にお付き合い
また、丁寧にご教授してくださいまして、ありがとうございます。

本日は別の仕事が入ってしまったのでできませんが、
後日、やってみます。
ホントにありがとうございました♪

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 420