過去ログ

                                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とすると、アクセスのテーブルにデータを登録するにはどのように記述すればいいのでしょうか。

 ───────────────────────────────────────  ■題名 : Re:フォームからのテーブルへの登録について  ■名前 : かみちゃん  ■日付 : 04/4/12(月) 20:28  -------------------------------------------------------------------------
   こんにちは。かみちゃん です。

>エクセルの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

 ───────────────────────────────────────  ■題名 : Re:フォームからのテーブルへの登録について  ■名前 : furuya  ■日付 : 04/4/24(土) 13:04  -------------------------------------------------------------------------
   ▼かみちゃん さん:
いつもお世話になっております。そうしますと、エクセルVBAで作ったフォームをアクセスのフォームとして利用したい場合、難しいということなのですね。また、そのフォームをテーブルに連結した連結フォームとして利用する方法はあるのでしょうか。それとも、非連結フォームとして、コードをすべて記述し直して利用するのでしょうか。エクセルデータをアクセスのテーブルにインポートそて、そのテーブルをもとに連結フォームを作ったほうが、いいのでしょうか。

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