• ベストアンサー

ExcelからMySQLを編集する

基本的な質問で申し訳ないのですが、ExcelとMySQLをODBCで接続し、Excelで入力した文字をMySQLに登録させるようにしたいのです。 ODBCのインストールはできました。そのあとExcelでどのような設定をすればよいのでしょうか??

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

  • ベストアンサー
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

う~と 要はExcelの表をMySQLの表にすればいいのですね。 1.ExcelからMySQLにcreate table文を発行する。 2.次にinsert文をExcelの表から読んでMySQLの表に  insertする。 3.TextBox1にデータの長さを入力する。 4.CommandButton1を押すとcreate table 5.CommandButton2を押すと行をinsertします 6.データ型は全てcharとする。 Private Sub CommandButton1_Click() Dim cn As Variant Dim sql As String Dim i As Long Dim j As Long Dim k As Integer '** ODBC 接続 Set cn = CreateObject("ADODB.Connection") cn.Open "dsn=MySQL;uid=username;pwd=pass" cn.CursorLocation = 3 '** テーブル作成 k = TextBox1.Text sql = "create table test2 (" For j = 1 To 256 If Cells(1, j + 1).Value = "" Then Exit For sql = sql & "a" & CStr(j) & " char(" & k & ")," Next sql = sql & "a" & CStr(j) & " char(" & k & ")" sql = sql & ")" cn.Execute sql sql = "" '** ODBC 接続解除 cn.Close End Sub Private Sub CommandButton2_Click() Dim cn As Variant Dim sql As String Dim i As Long Dim j As Long '** ODBC 接続 Set cn = CreateObject("ADODB.Connection") cn.Open "dsn=MySQL;uid=username;pwd=pass" cn.CursorLocation = 3 '** インサート For i = 1 To 65536 If Cells(i, 1).Value = "" Then Exit For sql = "insert into test2 values (" For j = 1 To 256 If Cells(i, j + 1).Value = "" Then Exit For sql = sql & "'" & CStr(Cells(i, j).Value) & "'" & "," Next sql = sql & "'" & CStr(Cells(i, j).Value) & "'" sql = sql & ")" cn.Execute sql Next '** ODBC 接続解除 cn.Close End Sub

smash2003
質問者

お礼

助かりました、本当にありがとうございます

関連するQ&A