ここから本文です

解決済みのQ&A

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

keito023さん

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

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

投稿画像

違反報告

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

pazhu_pazhuさん

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/5 12:53:25
  • 回答日時:2011/7/5 12:51:30

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

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

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

    有難う御座いました。
  • コメント日時:2011/7/8 15:28:52

グレード

このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!

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

(1件中1〜1件)

 

mahoo_nieeさん

参考。
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

  • 回答日時:2011/7/5 12:34:52

あなたにおすすめの解決済みの質問

これからACCESSを勉強しようと思っている全くの初心者です。会社では「ACCESS97」を使用している為、「A...
パソコンあまり詳しくないので・・・・私のPCにAccess2010がインスートルされていますが別のPC(友...
Access2010の互換性について検索してみたのですが、答えが色々あって解りません。自分なりの予想をまと...

あなたにおすすめの知恵ノート

【表計算術】Excelで創る…テキストボックスとシートのリンク

知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

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