Board logo

標題: [發問] 將Excel當中的資料轉入資料庫中會出現使用者自訂型態尚未定義 [打印本頁]

作者: kkkajw    時間: 2011-10-22 22:59     標題: 將Excel當中的資料轉入資料庫中會出現使用者自訂型態尚未定義

請問這個少了什麼?

Sub Export2Mysql()
'將Excel當中的資料轉入資料庫中
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim fld As ADODB.Field
    Dim sql As String
    Set conn = New ADODB.Connection
    '這裡要換成你的伺服器 庫名 用戶名 密碼
    conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};" & "SERVER=xxx.xxx.xxx.xxx;" & " DATABASE=test;" & "UID=test WD=password; OPTION=3"
    conn.Open
    '準備創建表
    conn.Execute "drop table if exists test"
    '注意這裡的各列類型設定
    conn.Execute "create table test(name text,pass text)"
    '按行導入,這裡假設第一列存的是name,第二列存的是pass
    For i = 1 To 20
        conn.Execute "insert into test(name,pass) values('" & Cells(i, 1).Text & "','" & Cells(i, 2) & "')"
    Next i
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseServer
    '使用下面的代碼驗證
    rs.Open "select * from test", conn
    rs.MoveFirst
    Do Until rs.EOF
        For Each fld In rs.Fields
            Debug.Print fld.Value,
        Next
        rs.MoveNext
        Debug.Print
    Loop
    rs.Close
    conn.Close
End Sub
作者: kimbal    時間: 2011-10-23 13:21

本帖最後由 kimbal 於 2011-10-23 13:24 編輯

已經設好了ADO引用?
在VBE: 工具->設定引用項目
打勾ADO 2.8
[attach]8318[/attach]

還有MYSQL的ODBC有沒有裝好?
作者: kkkajw    時間: 2011-10-23 17:18

回復 2# kimbal

工具->設定引用項目
打勾ADO 2.8
因為一直在試,沒有存檔,剛發現沒有勾到
那以經設好了,會出現如圖檔一樣的錯誤訊息

我的OS是WIN 7 64Bit english版本
我使用vmware虛擬出一個xp系統
ODBC測試OK

但使用網路上所找的VBA語法作測試,無法正常執行。
作者: kkkajw    時間: 2011-10-23 17:25

本帖最後由 kkkajw 於 2011-10-23 17:35 編輯

剛試了一下,好像沒法正常將工具->設定引用項目
打勾ADO 2.8,存檔,只要重新開啟EXECL就會變成沒打勾
也有試著將EXECL存檔再去開啟,是因為我用Windows7 64bit的關係嗎?

我先在win xp安裝office 2007,測試完也是ADO 2.8那個選項還是會被拿掉,怪怪的。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)