こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

アクセスでデータを分配するには

フォームにテキストボックスが3つあり
企業名を入力するテキストボックスと
駅名を入力するテキストボックスが2つあり登録ボタンを
押下すればテーブルに2つレコードが作成されるようにしたいのですが
どうすればいいのでしょうか?

例えばテキスト1の企業名に ●●商事
テキスト2の駅名に銀座
テキスト3の駅名に有楽町と入力し登録ボタンを押下すればテーブル
のフィールド名、企業名に●●商事フィール名 駅名に銀座というデータともうひとつ
とフィールド名、企業名に●●商事フィール名 駅名に有楽町というデータの2つのデータが
テーブルに作成されるようにしたいのですが。。

投稿日時 - 2010-12-30 06:47:50

QNo.6415453

すぐに回答ほしいです

質問者が選んだベストアンサー

失礼しました。
>ra.Close: se rs = Nothing
何を勘違いしていたのか、上記は

rs.Close: Set rs = Nothing

としてください。これは、

rs.Close
Set rs = Nothing

と縦に記述するのを横に連続して記述し、
処理する表現方法です。
最後の後始末なので必ず処理を入れる
ようにします。


[ ADOについて ]

ADOはAccessだけでなく、他の言語たとえばVisual Basicなどの
言語においても使用しており、たとえばVB6.0という言語で
使用している形式はほぼそのままAccessでも使用できます。

なかなかADOのみというのは少ないのですが、以下が比較的
ADOの要点をつかんでいるのではと思います。これらの中で
わからない点が出てきたら、WEBで検索したり質問したり
されればかなりいい効率で習得できると思います。

本家(2000などが主ですがそのまま他のバージョンでも
使用できます)
http://msdn.microsoft.com/ja-jp/library/cc376607.aspx

その他
http://www.ken3.org/
http://www.red.oit-net.jp/tatsuya/vb/ADO.htm
http://kiyoeri.gotdns.org/~kiyoeri/pukiwiki/?Access%2FADO%A4%C8DAO
http://pcdn.int21.co.jp/pcdn/vb/noriolib/vbmag/9812/vb6da/
http://www.happy2-island.com/access/
http://www.accessclub.jp/ado/index.html
http://jsajax.com/accessOtehon/

投稿日時 - 2010-12-31 12:51:21

お礼

返信ありがとうございます。
私もraがrsの間違えかと思い当初変更してみたんですが
やっぱり実行できませんでした。。
>最後の後始末なので必ず処理を入れる
>ようにします。
ということなので、頂いたURLを参考に検証
してみようと思います。


ADOにつてい詳しくありがとうございました!
参考にさせて頂きます。
年末の慌しい中ご丁寧な対応誠に感謝しております。
良いお年をお過ごしください(^◇^)

投稿日時 - 2010-12-31 19:38:12

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

本家のADOの場所がわかりにくいかもしれないので、

http://msdn.microsoft.com/ja-jp/library/cc377101.aspx

にあります。その他のところでもADOについての記述が
あります。

投稿日時 - 2010-12-31 18:02:33

ANo.2

#1のQ1、Q2で
>[フォーム2]
となっているのはフォーム名です。
実際に合わせて変更してください。

投稿日時 - 2010-12-30 14:24:48

ANo.1

一応データを追加するものとします。

方法はいろいろですが、


フォームの企業名、駅名をいれるテキストボックスを
tx企業名、tx駅名1、tx駅名2とし、
テーブルのフィールドを企業名、駅名とします。

(1)  方法1

クエリを二つ作ります。
テーブル名はデータを追加するテーブル名です。

Q1:

INSERT INTO テーブル名 ( 企業名, 駅名 )
SELECT [Forms]![フォーム2]![tx企業名] AS 企業, [Forms]![フォーム2]![tx駅名1] AS 駅;


Q2:

INSERT INTO テーブル名 ( 企業名, 駅名 )
SELECT [Forms]![フォーム2]![tx企業名] AS 企業, [Forms]![フォーム2]![tx駅名2] AS 駅;

フォームのボタンクリック時に、
Private Sub コマンド0_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery ("Q1")
DoCmd.OpenQuery ("Q2")
DoCmd.SetWarnings True
End Sub



(2)  方法2

DAOを使用した例。DAOを使っているので
コード表の参照設定でDAOにチェックが入っているか
確認してください。

Private Sub コマンド0_Click()

Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb

Set rs = db.OpenRecordset("テーブル名", dbOpenDynaset)

rs.AddNew
rs!企業名 = Me!tx企業名
rs!駅名1 = Me!tx駅名1
rs.Update

rs.AddNew
rs!企業名 = Me!tx企業名
rs!駅名1 = Me!tx駅名2
rs.Update
ra.Close: se rs = Nothing
db.Close: Set db = Nothing

End Sub

投稿日時 - 2010-12-30 14:04:03

お礼

piroin654 さんご回答ありがとうございます。
ADOを使用したコードで実行させたらテーブルに条件通りの
データが作成されました!!!
ただ↓でエラーがでてしまうのでコメント化し読み込ませないようにしました。
ra.Close: se rs = Nothing
これにおいては問題ないので大丈夫です。

また予断ですがADOにおいてもう少し勉強したいのですが何かお勧め
のサイトなどありますでしょうか?

投稿日時 - 2010-12-31 05:08:50

あなたにオススメの質問