2011-12-12 160 views
0

我想从mySQL数据库检索。从数据库检索VBA

Dim oRS as ADODB.Recordset 
    Dim databaseRecords as Range 
    Set oRS = New ADODB.Recordset 
    oRS.ActiveConnection = oConn 
    oRS.Source = "Select AccID from database123" 
    oRS.Open 
    databaseRecords.CopyFromRecordset (oRS) 
    oRS.Close 
    If Not oRS Is Nothing Then Set oRS = Nothing 

我已经连接到mySQLdatabase。连接部分很好。在databaseRecords.CopyFromRecordset(oRS)中出现“Object variable或With variable not set”错误。数据库没有任何空行。

+2

您尚未将任何内容分配给databaseRecords。在使用'.CopyFromRecordSet'之前,它需要保持对Range的引用。而且你不需要oRS附近的parens。 –

+0

此代码是从VBA编辑器复制并粘贴的,还是您重新键入了它?重新编码可以隐藏错误,请复制并粘贴。此外,你错过了设置'oConn'的代码,如果我们看不到它,我们无法弄清楚什么是错的(虽然Tim可能是对的)。 – JimmyPena

回答

1

您已声明databaseRecords但未分配它。它需要分配给目标电子表格中的现有(和有效大小)范围。