|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.06.2013, 14:22 | #1 |
Регистрация: 26.09.2012
Сообщений: 4
|
Экспорт из excel в базу MySQL средствами VBA
Помогите записать данные из книги эксель в базу MySQL.
Это нужно макросом делать - обратный путь стандартный макрокодер записал - данные из базы получить могу, а записать в базу не знаю как. Установлен mysql-connector-odbc-5.2.5-win32 SQL команда для записа сроки в базу выглядит так: INSERT INTO `invoices` (`id`, `start_date`, `end_date`, `issue_date`, `direction`, `payer_type`, `payer_id`, `account_id`, `invoice_template_id`, `prepaid`, `start_balance`, `end_balance`, `paid`, `refilled`, `discount`, `total_amount`, `_agent_id`, `_department_id`) VALUES (1, '2012-04-02', '2012-04-08', '2012-04-16 11:55:56', 'from_account', 'company', 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0.51, 2, 2) Макрос с подключением к базе и получением из нее данных выглядит так (может тут есть нужные параметры): Sub Макрос1() ' Range("A4").Select With ActiveSheet.ListObjects.Add(SourceT ype:=0, Source:= _ "ODBC;DSN=MySQL_Connection;", Destination:=Range("$A$4")).QueryTa ble .CommandText = Array( _ "SELECT invoices_0.id, invoices_0.start_date, invoices_0.end_date, invoices_0.issue_date, invoices_0.direction, invoices_0.payer_type, invoices_0.payer_id, invoices_0.account_id, invoices_0.invoice_tem" _ , _ "plate_id, invoices_0.prepaid, invoices_0.start_balance, invoices_0.end_balance, invoices_0.paid, invoices_0.refilled, invoices_0.discount, invoices_0.total_amount, invoices_0.`_agent_id`, invoices_0.`" _ , "_department_id`" & Chr(13) & "" & Chr(10) & "FROM config.invoices invoices_0") .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .ListObject.DisplayName = "Òàáëèöà_Çàïðîñ_èç_MySQL_Connection _1" .Refresh BackgroundQuery:=False End With End Sub Насколько я понял нужно в ВБА запустить Microsoft Query и там выполнить команду на запись строки в базу... Но может и до другому как то... Подскажите пожалуйста как оформить этот макрос - я раньше с MySQL не сталкивался, поэтому очень трудно разобраться что и как делать. |
17.06.2013, 20:31 | #3 | |
Регистрация: 26.09.2012
Сообщений: 4
|
Цитата:
Ваш код под свои данные переделал - получилось так Const strConn As String = "Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySQL_Conn_Local;Initial Catalog=config" Public Cnn As String Sub IMPORT() Dim Cnn As ADODB.Connection Dim Rs As ADODB.Recordset Dim Cmd As ADODB.Command Set Cnn = New ADODB.Connection Set Rs = New ADODB.Recordset Set Cmd = New ADODB.Command Cnn.ConnectionString = strConn Cnn.Open Rs.Open "SELECT * FROM config WHERE start_date > '1900-01-01' ", Cnn, adOpenStatic, adLockReadOnly Range("A1").CopyFromRecordset Rs Rs.Close Cnn.Close End Sub Ругается на строчке - Rs.Open "SELECT * FROM config WHERE start_date > '1900-01-01' ", Cnn, adOpenStatic, adLockReadOnly Что тут не так? |
|
17.06.2013, 21:01 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Какими словами ругается?
Анализ,обработка данных Недорого
|
17.06.2013, 21:18 | #5 |
Регистрация: 26.09.2012
Сообщений: 4
|
|
18.06.2013, 01:50 | #6 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Можно и
" USE config ;SELECT * FROM invoices
Анализ,обработка данных Недорого
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертация базы MSSQL в базу MySQL средствами DELPHI | Igolka6662 | БД в Delphi | 0 | 05.05.2012 12:16 |
Разделить значения таблицы в документе word из excel средствами vba | xamillion | Microsoft Office Word | 5 | 07.11.2010 19:25 |
Экспорт данных из Mysql в Excel | GreenShuller | БД в Delphi | 1 | 14.07.2010 04:15 |
Запуск какой либо Windows-программы из Excel средствами VBA | kovalevskivf | Microsoft Office Excel | 3 | 21.05.2009 15:14 |
Как средствами VBA экспортировать данные из Excel в Word? | Pavel_Ine | Microsoft Office Excel | 3 | 20.04.2009 14:14 |