- 締切済み
Excelで入力した項目をMySQLに登録する
エクセルにて入力した項目をMySQLに登録したいのですが、 コードが分かりません。 VBでできるようなのですが、初心者な為、調べてもよく 分からなかったのでご質問させて頂きます。 A1 A2 1 性別 男 2 距離 近所 3 年代 20代 4 曜日 日曜日 5 来店日 3日以内 6 時間帯 夜 A1には既にある項目名、A2にはプルダウンで表示させた項目を追加するようにしたいのです。 その為、A2の項目は常に変動します。 また、データ毎にシーケンス番号を割り振りたいと考えております。 また、追加は実行ボタンを押下時に、実行できるようにしたいと考えておりますが、 実行ボタンは『開発 ⇒ 挿入 ⇒ フォームコントロール ⇒ ボタン』 で作成して問題ないのでしょうか。 以上、ご教授頂けないでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
ODBCのDNSを作成しなくても、VBAで指定できるのですね(#3さんの回答参照) 手元の環境でやってみました。LAN上の自家サーバーで稼動しているMySQLにアクセスしています。伏せたり、一般的な名称にしてあるところはご自分の環境に合わせてください。 Sub sample() Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim strSQL As String cn.ConnectionString = "Driver={MySQL ODBC 5.1 Driver};DATABASE=database_name;" _ & "PWD=password;PORT=????;SERVER=192.168.x.x;" _ & "STMT=SET NAMES utf8;UID=mysql_user_name" cn.Open strSQL = "INSERT INTO users(name,email) VALUES ('田中','test@mail');" cmd.ActiveConnection = cn cmd.CommandText = strSQL cmd.Execute strSQL cn.Close Set cn = Nothing End Sub ドライバはここにあります。 http://dev.mysql.com/downloads/connector/odbc/5.1.html
- cw3629
- ベストアンサー率0% (0/3)
MySQL ODBC 3.51 DriverをPCにセットアップします。 大体こんな感じでは Dim objCon As New ADODB.Connection Dim objRs As New ADODB.Recordset dim dbConnectstr as String 接続文字列 dbConnectstr = "driver={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=(DB名);UID=(ユーザー名);PWD=(パスワード);OPTION=3" あとはわかると思います。 SERVER=127.0.01は自PCのMySQLを見てます。
- mitarashi
- ベストアンサー率59% (574/965)
下記の書籍を購入してトライしました。前振りが長いですが、ExcelとMySQLで会議室予約システムを作るという内容です。2003年刊なので、Linuxの環境構築のあたりは既に陳腐化しておりますが。 http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-94690-8 ODBCの設定をして、ADOで接続すれば、相手がAccessのデータベースでも、MySQLでもほぼ同様に出来ます。
- rivoisu
- ベストアンサー率36% (97/264)
ADO MySQL VBA で検索してみてください。 ある程度理解してから自分なりに作ってみてから質問したほうがいいと思います。 DBとの接続、レコードセット、SQLについて調べて見ましょう。
補足
御返信ありがとうございます。 >>ある程度理解してから自分なりに作ってみてから質問したほうがいいと思います。 そうしたいところなんですが、時間がなく、作ってから理解しようと思っております。 下記が自分で作成したコードです。 ========================= 'フィールドを指定してテーブルにレコードを挿入する Public Sub Customer() Dim myDB As Database Dim mySQL As String 'SQLステートメントを定義する mySQL = "INSERT INTO BASIC_A " & _ " (性別 " & _ " ,距離 " & _ " ,年代 " & _ " ,曜日 " & _ " ,来店日 " & _ " ,時間帯) " & _ "VALUES (" & Cells(B, 4) & " & _ " ,& Cells(2, 6) & " & _ " ,& Cells(2, 8) & " & _ " ,& Cells(2, 10) & " & _ " ,& Cells(2, 12) & " & _ " ,& Cells(2, 14) & " & _ " ,1) " 'カレントデータベースを変数に代入する Set myDB = CurrentDb 'SQLを実行する myDB.Execute mySQL End Sub ========================= 間違っていると思うので、「ADO MySQL VBA」で検索してみます。 ありがとうございます。
お礼
御返信ありがとうございます。 時間ができましたら、教えて頂いた本で勉強したいと思います。 様々な本がありすぎて、何が一番いいのか分からなかったので、教えて頂きありがとうございます。