ここから本文です

Access2010からODBCを使用した、MySQLとの接続後のテーブル更新のVBA(ADO)につい...

このエントリーをはてなブックマークに追加

質問者

keito023さん

2011/7/511:38:23

Access2010からODBCを使用した、MySQLとの接続後のテーブル更新のVBA(ADO)について

初めまして。よろしくお願い致します。

Access2010を使用して賃貸借状況を管理するシステムを作成しており、VBAをDAOで作成してきました。
しかし、実環境で動かす際にAccessをクライアントとして使い、MySQL内のテーブルへODBC接続(リンク)して動かす必要が出てきてしまい、今までAccess内だけで済むDAOでのVBAコードでしかシステムを作成したことがなく、MySQLをサーバとして使う場合、当然ADOへ移行する必要が出て来ると思うのですが、違いといいますか、どこをどの様に換えたら良いのかが全く分かりません。

Access関連の書籍等でも調べては見たのですが、DAOを主に取り上げられておりイマイチ分かりませんでした。


以下のVBAコードの内容をADOへ変え、MySQL上のテーブルへデータを追加させるにはどう変えて行ったら良いのでしょうか?

コードが文字数をオーバーするので画像で添付しました。 確認お願い致します。

やりたい動きとしては、フォーム上に30程度のテキストボックスを設け、それぞれ顧客情報や契約内容を入力させ、入力が完了したら「登録」ボタンを押させる→金額明細のテーブルへ金額を回数分レコード追加させる。 それと同時にフォームのソーステーブルへ年数や月数、回数等の他のテキストボックスをソースとした部分をフィールドに追加する。

私自身、あまりAccessにまだ慣れていない部分があるので文章などの例えがわかり辛いかも知れません。そういうった部分があればご指摘ください。

よろしくお願い致します。

補足添付画像が見れなさそうですので、アップローダに上げました。

http://www1.axfc.net/uploader/Sc/so/252046.pdf

pass:access

お手数ですがこちらにてご確認下さい

投稿画像

閲覧数:
3,348
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

pazhu_pazhuさん

編集あり2011/7/512:53:25

Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim connectionString As String
Dim strSQL as String
Dim i as Integer
'接続文字列
connectionString = "Driver={MySQL ODBC 5.1 DRIVER};" _
& " SERVER=" & サーバーアドレス & ";" _
& " DATABASE=" & データベース名 & ";" _
& " USER=" & ユーザーID & ";" _
& " PASSWORD=" & パスワード & ";"
'ADODB.Connection生成
con = New ADODB.Connection
con.Open(connectionString)
For i = 1 To Me!txt回数
strSQL = "INSERT INTO [テーブル名] (フィールド名A,フィールド名B....) VALUES (フィールドの順番で格納するデータ)"
con.Execute(strSQL)
Next i
con.Close()
rs = Nothing
con = Nothing

SQL文はご自身で組み立ててください。
あと、PDFの最後のSQL文(INSERT)は実行しているのですか?
実行しているのならば
con.Close()
rs = Nothing
con = Nothing
の前にSQL文をセットしてcon.Execute(strSQL)を実行してください。

※Driver=のバージョンはそちらの環境にあわせてください。

質問した人からのコメント

2011/7/8 15:28:52

降参 やはり、DAOとADOでは結構い異なる部分がありますね。

勉強不足ですが参考にし、自分の環境にあわせ編集して解決いきたいと思います。

有難う御座いました。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル
  • このエントリーをはてなブックマークに追加

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜1件/1件中

mahoo_nieeさん

2011/7/512:34:52

参考。
http://www.tsware.jp/index.htm

#23 DAOとADOを比較する
http://www.tsware.jp/labo/labo_23.htm

5 VBAプログラムのDAOからADOへの変更
http://www.tsware.jp/study/vol18/upsize_05.htm

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する