只需将新数据追加到表即可更新Excel连接中的数据,而不是从sql服务器中检索所有数据

时间:2019-06-01 18:02:31

标签: sql-server excel excel-vba

需要定期刷新我的excel工作表中的数据连接(由多个表组成的SQL Server连接)。但是,当我执行“全部刷新”时,excel基本上从头开始从SQl服务器检索所有数据,因此需要很长时间才能检索数据。我希望通过仅提取所需的数据,然后将其附加到连接中的表中来加快此速度。是否可以使用VBA做到这一点?

我有一个与SQL Server连接的Excel工作表,我从中引入了多个表来构建动态报告。在刷新数据以向所有不同的表中引入新行时,Excel花费了很长时间才能引入数据,因为它从头开始从sql server中检索所有行。我希望可以引入新数据,然后将其输入到数据连接中的表中,并使用VBA脚本以这种方式刷新数据。我确实遇到了从SQL Server获取所需数据的代码,但是没有找到一种方法来将这些数据反馈回表并以这种方式刷新表,而不是使用“全部刷新”选项,而不必等待很久了。

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的表中,并避免费时的刷新所有方法

0 个答案:

没有答案