Обновите данные в соединении Excel, просто добавив новые данные в таблицы вместо того, чтобы получать все с сервера sql - PullRequest
0 голосов
/ 01 июня 2019

Требуется регулярно обновлять подключение к данным (подключение к SQL-серверу, состоящее из нескольких таблиц) в моей рабочей таблице Excel.Тем не менее, когда я выполняю «Обновить все», Excel в основном получает все данные с SQl-сервера с нуля и, следовательно, занимает много времени для извлечения данных.Я надеялся ускорить это, добавив только необходимые данные, а затем добавив их в мои таблицы в моем соединении.Есть ли способ сделать это с помощью VBA?

У меня есть лист Excel с подключением к серверу SQL, из которого я привожу несколько таблиц для создания динамических отчетов.Обновляя данные для добавления новых строк во все разные таблицы, Excel требует очень много времени для ввода данных, поскольку он получает все строки с сервера sql с нуля.Я надеялся, что смогу просто ввести новые данные, а затем передать их в таблицы в моем подключении к данным и обновить данные таким образом, используя скрипт VBA.Я наткнулся на код, чтобы получить необходимые данные с сервера SQL, но не нашел способа затем передать эти данные обратно в таблицы и обновить таблицы таким образом, вместо использования опции «обновить все» и избежать необходимости ждатьдолгое время.

Dim sConnString As String
Dim conn As ADODB.Connection

    Dim rs As ADODB.Recordset


    sConnString = "Provider=SQLOLEDB.1;Initial Catalog=WELLTHY_ALL;" & _
             "User ID=username;Password=password;Data Source=NEWINSTANCE;"

    Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    conn.Open sConnString
    query = "SELECT * FROM table where date >" & " '2019-05-03'"
    Set rs = conn.Execute(query)

Я хочу затем добавить эти данные, которые я получил выше в rs, в таблицу, купленную в excel через соединение, и избежать затратного по времени обновления всего метода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...