2015-10-27 96 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