Страницы: 1
RSS
PQ. При подготовленных данных в DB не подхватываются данные
 
Привет
У меня PQ подготавливает данные структуру данных и дальше идет выгрузка данных в SQL.
Сейчас это все делается в ручном режиме:
  1. Выгрузка на Excel лист подготовленных данных из PQ
  2. Приложение Mysql For Excel делаю Insert либо Append в БД
Что не устраивает? Хочется делать это в автоматичеком режиме
  1. По таймеру запускается рефереш запроса(Умею)
  2. Выгружается результат в таблицу (+ по необходимости в CSV) (умею)
  3. Подхватываются данные и вставляются в БД (не умею)
Подскажите пожалуйста, как бы Вы решили задачу по 3 пункту, при условии что таких таблиц с данными очень много.
Благодарю!  
 
Подключение к БД через SQL через ADODB, например, и далее все просто: SQL запрос типа INSERT по каждой строке выгруженной таблицы. Ну или как-то иначе, я так понимаю запрос-то уже есть.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков,  Спасибо Вам за помощь! Правильно я Вас понял, что под каждый сет из данных нужно будет писать такой кастомный VBA типа. То есть нет каких-то плагинов, в которых можно было только метчинг полей настроить(название столбцов в smart таблицы) с названиями в БД + ключ-поле(Уникальный индентификатор) и оно бы само запросы формировала? Хочется сделать максимально просто=стабильно. Один из вариантов думаю может выгружать в CSV подготовленный данные, а какая-то программа будет смотреть новые файлы в папке и обрабатывать их.

Код
Public Sub INSERT_to_MySQL()

   Dim conn As ADODB.Connection
   Dim cmd As ADODB.Command
   Dim strSQL As String

   app_enable_false

   On Error GoTo no_DB_connection_error
resume_after_connecting:

   Set cmd = New ADODB.Command
   cmd.ActiveConnection = oConn

   ' LOOP and INSERT the data
   ' 100 rows take approx 15 seconds to INSERT
   For rowcursor= 1 To 100
                the_table = "`global`.`filesaved` "
                strSQL = "INSERT INTO " & the_table & " (Client_Name, OriginCity, DestinationCity, ValidFrom, ValidTo, Quote_Number, Cost1, Cost2, Cost3) "
                strSQL = strSQL & " VALUES ('" & esc(Range("BB" & rowcursor)) & "','" & esc(Range("BC" & rowcursor)) & "','" & esc(Range("BD" & rowcursor)) & "','" & Format(Range("BE" & rowcursor), "yyyy-mm-dd") & "','" & Format(Range("BF" & rowcursor), "yyyy-mm-dd")
                strSQL = strSQL & "','" & esc(Range("BH" & rowcursor)) & "','" & esc(Range("BJ" & rowcursor)) & "','" & esc(Range("BK" & rowcursor)) & "','" & esc(Range("BJ" & rowcursor)) & "')"
                cmd.CommandText = strSQL
                cmd.Execute
   Next rowcursor

   app_enable_true

   Exit Sub

no_DB_connection_error:

   ConnectDB
   GoTo resume_after_connecting

End Sub
 
Здравствуйте!
Хочу выудить пару макросов  :)
Как макросом загонять данные в базу данных Ms Sql ?
В файле две умные таблицы, которые строками могут и удлиняться и укорачиваться.
Сейчас формулами подготавливаю данные как у tbl_2 и, скопировав диапазон, вставляю в окно запроса ms sql, жму F5.
Хотелось бы узнать как это сделать макросом
Страницы: 1
Наверх