2015-10-27 237 views
0

我主要使用VBA訪問MySQL數據庫,並將數據從數據庫下載到excel工作表。爲了打開通過VBA我用下面的代碼連接到MySQL服務器:使用vba創建mysql數據庫

Public Sub OpenConnection() 
    Set conn = New ADODB.Connection 
    conn.Open GetConnectionString() 
End Sub 

Function GetConnectionString() As String  
    Dim ConnectionString$ 
    ConnectionString$ = "DRIVER={MySQL ODBC 5.3 UNICODE Driver}; _       
    SERVER=localhost;DATABASE=test;USER=root;PASSWORD=google;Option=3" 
    GetConnectionString = ConnectionString$ 
End Function 

我的問題是,有沒有VBA代碼,我可以用它來創建MySQL服務器一個新的數據庫,並給它一個特定的名字嗎?

我的MySQL服務器版本5.6如果有幫助。

+0

只是膛線查詢。你有一個連接你說。 「創建架構MySchema」。 「使用MySchema」。 「create table x(id int,x varchar(10))」 – Drew

回答

0

感謝您的評論德魯,我其實有其他代碼,使我能夠進入查詢MySQL數據庫,唯一缺少的是查詢創建數據庫如果數據庫不退出,反正這裏是整體代碼,以創建一個與VBA MySQL數據庫:

Sub create_database() 

    Application.Calculation = xlCalculationManual 
    Application.ScreenUpdating = False 

    Call OpenConnection 

    Dim RS As ADODB.Recordset 
    Set RS = New ADODB.Recordset 

    Dim Query$ 

    Query$ = "CREATE DATABASE IF NOT EXISTS Database_name" 
    RS.Open Query$, conn 

    Set RS = Nothing 

    Call CloseConnection 

End Sub 

Public Sub OpenConnection() 
    Set conn = New ADODB.Connection 
    conn.Open GetConnectionString() 
End Sub 

Function GetConnectionString() As String  
    Dim ConnectionString$ 
    ConnectionString$ = "DRIVER={MySQL ODBC 5.3 UNICODE Driver}; _       
    SERVER=localhost;DATABASE=test;USER=root;PASSWORD=google;Option=3" 
    GetConnectionString = ConnectionString$ 
End Function 

Public Sub CloseConnection() 
    conn.Close 
    Set conn = Nothing 
End Sub