所以,我有一个包含原始数据的Excel工作表。
*我的目标是从SQL Server获取数据,然后将其复制到工作表。
*为了做到这一点,我必须检查工作表中的名称是否存在于数据库中。
这是我简单的Psuedocode:
'Loop thru each row of data in worksheet
'If Name is found in database,
'Copy the data from database to Excel worksheet
End Loop
我刚开始探索如何将MS SQL Server与VBA连接。 我也一直在这里研究这个,但是我无法理解线程。
我为这个过程创建了一个乐队援助解决方案。我创建了另一个工作表作为临时数据库,而不是从数据库中检索数据。我想在SQL Server中这样做,因为每天,数据的数量都会变大。
如果你能帮助我,我真的很感激。提前谢谢。
答案 0 :(得分:0)
浏览此链接以了解有关连接的更多信息
[https://stackoverflow.com/questions/1120674/accessing-sql-database-in-excel-vba][1]
Sub GetDataFromADO()
'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyRecordset = New ADODB.Recordset
Dim strSQL As String
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
objMyConn.Open
'Set and Excecute SQL Command'
strSQL = "select * from myTable"
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open strSQL
'Copy Data to Excel'
ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)
End Sub
然后循环遍历您的Excel工作表并检查记录集中是否存在数据......