アプリ版:「スタンプのみでお礼する」機能のリリースについて

データベースMySQL4に
エクセルのデータをVB6.0を利用して
格納したいのですが、
どうしたらいいかわかりません。
まず、MySQLに接続するには
どうしたらいいのですか?

A 回答 (2件)

一例を示します。


実行途中にインプットボックスがでますので20~40位
の数値を入れてください。

Private Sub Command1_Click()
'------エクセル設定-----
Dim Apl As Variant 'エクセルアプリケーションの定義
Dim Book As Variant 'ブックの定義
Dim Sheet As Variant 'シートの定義
Dim k As Integer

'各セルの値を取得
Dim Fpath As String
Dim i As Long
Dim j As Long

'------エクセルファイルを開く&表示-------

Fpath = App.Path & "\Sample1.xls"

Set Apl = CreateObject("Excel.Application")
Apl.Application.Visible = True

Set Book = Apl.Workbooks.Open(Fpath) 'エクセルファイルのopen
Set Sheet = Book.Worksheets(1)

'------MySQL 設定-----
Dim cn As Variant
Dim sql As String

'** MySQL ODBC 接続
On Error Resume Next
Set cn = CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=sunohara;pwd=2510"
cn.CursorLocation = 3

'** テーブル作成
k = InputBox("1つ当たりのデータの長さを入力してください。")

sql = "create table test3 ("
For j = 1 To 255
If Sheet.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 = ""
'** インサート
For i = 1 To 65536
If Sheet.Cells(i, 1).Value = "" Then Exit For

sql = "insert into test3 values ("
For j = 1 To 255
If Sheet.Cells(i, j + 1).Value = "" Then Exit For
sql = sql & "'" & CStr(Sheet.Cells(i, j).Value) & "'" & ","
Next

sql = sql & "'" & CStr(Sheet.Cells(i, j).Value) & "'"
sql = sql & ")"
cn.Execute sql
Next
'** レコードセットクローズ
Apl.Application.Visible = False

cn.Close
Apl = Nothing
Book = Nothing
Sheet = Nothing

'-----
MsgBox "終了"


End Sub

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0
この回答へのお礼

大変遅くなりすいませんでした。
このプログラムを大変参考にさしていただきました。
ありがとうございました。

お礼日時:2006/02/13 15:17

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
等を参考にしてみてください。
VB6.0でなくてもExcelのVBAからでも可能です。
    • good
    • 0
この回答へのお礼

大変遅くなりましてすいません。
ありがとうございます。
これからそのURLで勉強していきます。

お礼日時:2006/02/13 15:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!