Page 603 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼フォームからのテーブルへの登録について furuya 04/4/12(月) 19:48 ┗Re:フォームからのテーブルへの登録について かみちゃん 04/4/12(月) 20:28 ┗Re:フォームからのテーブルへの登録について furuya 04/4/24(土) 13:04 ─────────────────────────────────────── ■題名 : フォームからのテーブルへの登録について ■名前 : furuya ■日付 : 04/4/12(月) 19:48 -------------------------------------------------------------------------
エクセルのVBAでデータベースを作りました。フォームからデータを登録しワークシートに登録するものです。エクセルでは登録件数に限界があり、アクセスに移行を考えています。そこでエクセルVBAで作ったフォームを利用しアクセスのテーブルにデータを登録する場合、どうしたらいいのでしょうか。例えばエクセルの場合、worksheets("sheet1").range("A1")=フォームのテキストボックスのvalueとすると、アクセスのテーブルにデータを登録するにはどのように記述すればいいのでしょうか。 |
こんにちは。かみちゃん です。 >エクセルのVBAでデータベースを作りました。フォームからデータを登録しワークシートに登録するものです。エクセルでは登録件数に限界があり、アクセスに移行を考えています。そこでエクセルVBAで作ったフォームを利用しアクセスのテーブルにデータを登録する場合、どうしたらいいのでしょうか。 Accessの場合、フォームのレコードソースをテーブルにして、各テキストボックスのコントロールソースにフィールドを設定して、連結オブジェクトとすると、簡単にできます。 発想の転換をすることをおすすします。 なお、Excelと同じような考え方でどうしてもしたいというなら、次のようなこともできるかと思います。 Dim db As DAO.Database Dim RS As DAO.Recordset Set db = CurrentDb Set RS = db.OpenRecordset("テーブル1", dbopentable) RS.AddNew RS!フィールド1 = Me.テキスト1.Value 'テキストボックスの値をフィールド1に格納 RS.Update RS.Close db.Close |
▼かみちゃん さん: いつもお世話になっております。そうしますと、エクセルVBAで作ったフォームをアクセスのフォームとして利用したい場合、難しいということなのですね。また、そのフォームをテーブルに連結した連結フォームとして利用する方法はあるのでしょうか。それとも、非連結フォームとして、コードをすべて記述し直して利用するのでしょうか。エクセルデータをアクセスのテーブルにインポートそて、そのテーブルをもとに連結フォームを作ったほうが、いいのでしょうか。 |