2015-10-27 4 views
0

Я использую VBA в основном для доступа к базе данных MySQL и данных downlaod из базы данных в таблицу Excel. Для того, чтобы открыть соединение с сервером MySQL через VBA я использую следующий код:создать базу данных mysql с помощью vba

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

как насчет просто нарезки запроса. У вас есть связь, которую вы говорите. msgstr "создать схему MySchema". «использовать MySchema». "create table x (id int, x varchar (10))" – Drew

ответ

0

спасибо за комментарий Дрю, у меня на самом деле есть другие коды, которые позволяют мне вводить запрос в базу данных MySQL, единственное, чего не хватало, это запрос на создание базы данных, если база данных не выходит, так или иначе, вот и вся кода для создания базы данных MySQL с VBA:

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 
Смежные вопросы