• 締切済み

Excelで入力した項目をMySQLに登録する

エクセルにて入力した項目をMySQLに登録したいのですが、 コードが分かりません。 VBでできるようなのですが、初心者な為、調べてもよく 分からなかったのでご質問させて頂きます。   A1   A2 1 性別  男 2 距離  近所 3 年代  20代 4 曜日  日曜日 5 来店日 3日以内 6 時間帯 夜 A1には既にある項目名、A2にはプルダウンで表示させた項目を追加するようにしたいのです。 その為、A2の項目は常に変動します。 また、データ毎にシーケンス番号を割り振りたいと考えております。 また、追加は実行ボタンを押下時に、実行できるようにしたいと考えておりますが、 実行ボタンは『開発 ⇒ 挿入 ⇒ フォームコントロール ⇒ ボタン』 で作成して問題ないのでしょうか。 以上、ご教授頂けないでしょうか。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

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)
回答No.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)
回答No.2

下記の書籍を購入してトライしました。前振りが長いですが、ExcelとMySQLで会議室予約システムを作るという内容です。2003年刊なので、Linuxの環境構築のあたりは既に陳腐化しておりますが。 http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-94690-8 ODBCの設定をして、ADOで接続すれば、相手がAccessのデータベースでも、MySQLでもほぼ同様に出来ます。

sukepack
質問者

お礼

御返信ありがとうございます。 時間ができましたら、教えて頂いた本で勉強したいと思います。 様々な本がありすぎて、何が一番いいのか分からなかったので、教えて頂きありがとうございます。

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

ADO MySQL VBA で検索してみてください。 ある程度理解してから自分なりに作ってみてから質問したほうがいいと思います。 DBとの接続、レコードセット、SQLについて調べて見ましょう。

sukepack
質問者

補足

御返信ありがとうございます。 >>ある程度理解してから自分なりに作ってみてから質問したほうがいいと思います。 そうしたいところなんですが、時間がなく、作ってから理解しようと思っております。 下記が自分で作成したコードです。 ========================= 'フィールドを指定してテーブルにレコードを挿入する 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」で検索してみます。 ありがとうございます。

関連するQ&A

  • 申し込みのフォームを使用していたのですが、プルダウンの項目を2つ追加し

    申し込みのフォームを使用していたのですが、プルダウンの項目を2つ追加しました。 cgiを使用しているのですが■参加回数: と■性別 :の追加したプルダウンの項目がメールで送信されてきません。 cgiのどのあたりをいじればいいのか、わかる方お願い致します。 ちなみにcgiの一部です。 ■日時 : $date ■ニックネーム : $in{'name'} ■参加回数: $in{'sanka'} ■性別 : $in{'sex'} ■メール: $in{'mail'} ■○月○日の希望企画・性別・連絡先 : $in{'com'} END 届くメールです。 ■日時 : 2010. 6.13(日) 19:03 ■ニックネーム : テスト ■参加回数: ■性別 : ■メール: ああああああああ ■○月○日の希望企画・性別・連絡先 : テスト 説明が悪いですが、わかる方よろしくお願い致します。

    • 締切済み
    • CGI
  • 曜日を表す項目

    DBに、受注曜日を保持しなければなりませんが みなさんはどのようなカラム構成にしますか? 1)受注曜日1(日曜日を表す)~受注曜日7(土曜日を表す)の7項目を設け、 それぞれにON/OFFをセットする 例:月・水・金が受注日の場合、受注曜日2、4、6は1、その他はZERO 2)受注曜日1(1つ目の受注曜日を表す)~受注曜日7の7項目を設け、 受注曜日1から順に、曜日を表す区分をセットする 例:月・水・金が受注日の場合、受注曜日1=1、受注曜日2=3、受注曜日3=5、 受注曜日4~7はNull 3)受注曜日を7桁で設け、日曜日から順に受注曜日にはBitを立てる 例:月・水・金が受注日の場合、受注曜日=0101010 4)受注曜日を7桁で設け、受注曜日を表す区分をセットする 例:月・水・金が受注日の場合、受注曜日=135 以前、別のシステムでは2)を使用したのですが、ちょっと不評だったような・・・ ご経験のある方、アドバイスお願いします。 ちなみにDBはOracle8.1.7、この受注曜日を追加しようとしているTableは 既にかなりの項目数があります。 くだらない質問ですみませんがよろしくお願いします。

  • エクセル 日付と曜日で自動表示

    初心者です。 下らない内容かも知れませんが 宜しく御願い致します。 セルA1に手動で日付を入力 セルB1に曜日を自動表示させています。 セルA2に日付に合わせて 日付毎の1~31の項目をプルダウンから 曜日に合わせて曜日毎の1~7の項目の内 2種類をセルA3とセルA4にプルダウンから 選択しています。 10月1日で説明すると、セルA2は1日なので プルダウンから1番を選択 セルA3は月曜なので、プルダウンから 1番を選択 セルA4は月曜~木曜は6番 金曜はセルA3が6番でセルA4が7番 土曜はセルA3が5番でセルA4が6番に なります。 このプルダウン選択を日付入力すると 自動切替させたく色々調べてみましたが 混乱しています。 どの様にすれば出来るか、御教示の程 宜しく御願い致します。

  • プルダウンメニュー項目のフォント色の変更

    JavaScriptで取得した10日後までの日付と曜日をプルダウンメニューの項目に設定し、任意の日付をユーザーに選択し てもらうようにしたのですが、プルダウンメニューの項目の一部(日曜・祝日など)のフォント色を変えることは可能でしょ うか?(あるいは、逆に背景に色を付けるなど) もし、そのような方法がありましたらご教示ください。 よろしくお願いします。

  • エクセルで家計簿のようにプルダウンメニューの項目の数字を計算したい

    エクセルで家計簿のようにプルダウンメニューの項目の数字を計算したい わからないのでご教授をお願いします。 エクセルで家計簿を作っています。 その中で、次のような計算をしたいと思っています。 (記号はセルの番号と理解してください。) ・A1にプルダウンメニューを作り、A口座又はB口座を選択し、B1に入金された金額を入れる。 ・C1にはA口座の残額、D1にはB口座の残額が記載されている。 ・例えば、A1でA口座を選び、B1にはそこには100円入金があったことを記載する。 ・そうすると、C1に書いてあるA口座の残額が100円増える。 という感じです。 プルダウンメニューで選んだ口座によってどちらかの口座の残額が変動するようにするための方法を 教えてください。

  • PHPの検索表示について

    PHP+Mysqlでプルダウンの項目を選択しただけで、別ウィンドウを開かずカラム内にDBから呼び出したデータを表示させることは可能でしょうか? プルダウンの項目をDBから呼び出して、項目選択後にボタンを押して表示することは出来たのですが、項目を選んだだけでできるのであれば、どうぞご指導ください。よろしくお願い致します。

    • 締切済み
    • PHP
  • エクセルのマクロで値の置き換えについて質問です

    エクセルのマクロについて質問です。 「N」日を指定した時に、その「N」日の下に設定している曜日のセルを、「祝」という値に変更したいのですが、その方法を教えて頂けないでしょうか。 日付の列=1行目 曜日の列=2行目 たとえば、A3セルにある「3」日を指定して、マクロ用に用意したボタンを押下したときに、A4セルにある「金」の値を「祝」に自動的に変更する方法です。 どなたか詳しいかた、お教え下さい。 どうぞよろしくお願いします。

  • プルダウンメニューの項目にリンクを貼りたいのですが。。。

    Flashで参考書を読みながらプルダウンメニューを作りましたが、各項目にシーンの切り替えを指示したいのですが上手くいきません。 例えば、Galleryというシーンにプルダウンメニューを作成して、メニューのGallery1をクリックするとシーンGallery1に、Gallery2をクリックするとシーンGallery2に切り替わる感じです。 私のプルダウンメニューは、メニューのタイトルのロールオーバー時(シンボルB)とそうでないときの状態のグラフィックシンボルAをそれぞれを作成。 続いて、メニューの各項目のロールオーバー時とそうでないときのボタンシンボルを作成。 そのボタンシンボルを使ってムービークリップシンボルAでプルダウンメニューの項目の動きを作成。 新規のムービークリップシンボルBに「label」 「content」 「pulldown」 のレイヤーを作成。 「content」の1フレーム目にグラフィックシンボルA、2フレーム目にシンボルBを配置。 「pulldown」の1フレームは空白キーで2フレーム目に先ほどのムービークリップシンボルAを配置。 「label」の1フレーム目にstopというラベルをつけて、2フレーム目にstartというラベルをつける。

    • ベストアンサー
    • Flash
  • mysqlのインストール時に設定ウィザードが出ません...

    お世話になります。 今朝、mysqlをインストールして、コマンドプロンプトでmysqlを立ち上げようとしたらシステムエラー5と表示が出て動かず、一度アンストール・ファイルの削除をし、再度サイトからmysqlをダウンロード、インストールしたのですが、インストール完了後、finishボタンを押した後に出るはずの設定ウィザードが出てこなくなりました。 使用OSはwindows Vista インストールしたのはmysqlのWindows Essentials 5.0.51aです。 今はインストール自体もうまくいってないようで、「プログラムと機能」にはMysql5.0と項目が追加されるのに、「管理ツール」の「サービス」には表示されず、コマンドプロンプトでも認識しません。 解決策を探しましたが、どうしたらよいのかまったくわかりません... 御回答よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • EXCELのVBAで出来ますか?

    WINXP、EXCEL2002を使用しています。 今、シート「入力」-シート「帳票」-シート「履歴」の3シートがあり、以下の処理を行う為の手続きの記述について、ご教授お願いします。 ●シート「入力」に対し、氏名、住所、電話番号を入力し、実行ボタンを押下する事により、⇒ シート「入力」の内容がシート「帳票」に転記され、(←この部分は、今回の質問範囲ではありません。)シート「帳票」が印刷され、同時に、シート「入力」のレコードをシート「履歴」に書き込み、終了する。 以降、シート「入力」に入力されたレコードが実行ボタン押下により、シート「履歴」に追加される仕組みを作成したい。 宜しくお願いします。