- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试查询数据库来填充列表框(以及其他各种任务)。运行代码时出现以下错误:
错误:
91
Object variable or With block variable not set
我的代码:
Private Sub UserForm_Initialize()
On Error GoTo UserForm_Initialize_Err
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim StrDBPath As String
Dim strSQL As String
strSQL = "SELECT [Heads A].[Date Entered], [Heads A Issues].Department, [Heads A Issues].Equipment, [Heads A Issues].[Operation Issues], Sum([Heads A Issues].Downtime) AS SumOfDowntime1, IIf([Head A Crew]='3','C-Crew',IIf([Head A Crew]='2','B-Crew','A-Crew')) AS Crew " & _
"FROM [Heads A] INNER JOIN [Heads A Issues] ON [Heads A].[HeadLineA ID] = [Heads A Issues].[HeadLineA ID]" & _
" GROUP BY [Heads A].[Date Entered], [Heads A Issues].Department, [Heads A Issues].Equipment, [Heads A Issues].[Operation Issues], IIf([Head A Crew]='3','C-Crew',IIf([Head A Crew]='2','B-Crew','A-Crew'))" & _
" HAVING ((([Heads A].[Date Entered])>=#" & Sheets("Choices").Cells(2, 1).Value & "# And ([Heads A].[Date Entered])<=#" & Sheets("Choices").Cells(2, 2).Value & "#) And (([Heads A Issues].Department)='" & Sheets("Choices").Cells(2, 3).Value & "') And ((IIf([Head A Crew]='3','C-Crew',IIf([Head A Crew]='2','B-Crew','A-Crew'))) Like IIf('" & Sheets("Choices").Cells(2, 4).Value & "'='all','*-Crew','" & _
Sheets("Choices").Cells(2, 4).Value & "'))) ORDER BY [Heads A Issues].Department, [Heads A Issues].Equipment;"
StrDBPath = Application.ActiveWorkbook.Path & "\Daily Closing Report V997.accdb"
cnn.Open "Provider=Microsoft.Ace.OLEDB.12.0;" & _ 'THIS IS WHERE THE ISSUE IS
"Data Source=" & StrDBPath & ";" &_
"Jet OLEDB:Engine Type=5;" & _
"Persist Security Info=False;"
rst.Open strSQL, cnn, adOpenStatic, adLockOptimistic
CopyText (strSQL)
If (rst.RecordCount = 0) Then
MsgBox "0 records found."
Unload UserForm1
Exit Sub
End If
If rst.RecordCount > 0 Then
rst.MoveFirst
End If
With Me.ListBox1
.Clear
Do While rst.EOF = False
.AddItem rst![Department,Heads A]
rst.MoveNext
Loop
End With
UserForm_Initialize_Exit:
On Error Resume Next
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
Exit Sub
UserForm_Initialize_Err:
MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
Resume UserForm_Initialize_Exit
End Sub
我已经缩小了错误出现在我打开连接的行(上面标记的)上的范围,但我不确定为什么它会按原样运行。 TIA!
最佳答案
尽早将其绑定(bind)为新的。
Dim cnn As new ADODB.Connection
您可以按照 Don Jewett 所说的那样,分两行进行:
Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection
这是后期绑定(bind),在您的情况下只是额外的一行代码。如果您的代码由于逻辑原因可能永远无法建立连接,那么最好在连接打开附近进行延迟绑定(bind),以便在需要时才进行绑定(bind)。但由于您正在立即使用连接和记录集,因此您最好尽早绑定(bind)它。
关于vba - ADODB 连接线上未设置“91”对象变量/With block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31438457/
使用 VBA 连接 Access DB 时遇到一个奇怪的错误。 VBA 代码如下所示: Sub DBC() Dim cn As ADODB.Connection Dim rs As A
我有一些现有的代码,使用不同的参数重复查询 SQL 数据库,我认为如果我将其更改为在开始时选择一大块数据到 ADODB.Recordset 中,然后在循环查询此记录集而不是数据库本身。 一个额外的警告
我用下面的代码填充了一个数据表—— OleDbDataAdapter oleDA = new OleDbDataAdapter(); DataTable dt = new DataTable(); o
... 或从 QueryTables 中提取记录。 最佳答案 试试这个排序: SQLDatabase_VBA.bas将来自 ADODB 或系统的 SQL 数据库与 Excel 中的 VBA 连接 sc
看,我遇到了一个问题,它开始让我有些头痛,因为我找啊找,但仍然不走运。 我必须从 C# 执行 DLL 的方法,这个 DLL 是 4 年前在 VB 6.0 中创建的,并且在 COM 中注册。它使用 AD
我一直在 Excel 中使用 ADODB 连接,以便连接到 MySql 数据库并检索值。 我的代码的本质如下: Public Function ODPH(B0 As Range, sqlstr As
Function filenum(filename,i) Dim st,s Set&nb
翻了半天MSDN后找到的,|后边是别名 复制代码代码如下: ANSI_X3.4-1968|iso-8859-1 ANSI_X3.4-1986|iso-8859-1&nb
1. 前言 ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的函式组件。现在 SFS3 系统 (校园自由软件交流网学务系统) 计划的
在 Excel 2010 中,我正在编写一个将大文本文件加载到记录集中的 vb 应用程序。 文本文件是一个日志文件,用空格分隔,并且没有任何列标题的第一行。 我可以使用适当的 schema.ini 文
我想弄清楚如何在 VBA excel 中使用 ADODB 进行多行插入。 我的问题似乎是我无法找出用于这个简单任务的正确语法,即使在搜索之后我仍然不知道它为什么不起作用。 使用语句进行单次插入没有问题
我试图从包含 80,000 多行的工作表中检索数据并将这些值打印到工作表中,但是当我创建记录集并查看其记录计数时,它只包含 16,492 条记录。 我是 ADODB 连接的新手,所以我对问题所在感到困
我在Delphi 7中使用ADODB,对于UPDATE查询,我使用TADOConnection执行过程“ recordsAffected”变量获取了修改后的记录数。 像这样 : MyConnexio
JavaScript ADODBE 连接如何在查询中放置它们或它们之间。需要帮助: rs.Open("update customer set Name='" + txtname + "',F_Name
我正在使用 adodb 和 php。我需要将 html 插入数据库,并且需要知道在将其插入数据库之前转义引号的最佳方法?我尝试使用 pg_escape_string() 但它似乎仍然没有插入。 执行此
我在 Excel 中有一个表,该表通过与 Access 数据库的连接进行填充。我正在尝试编写一个宏,允许您从此表中删除各个行。我使用 ADODB 连接将删除命令传递给 Access,效果很好。但是,在
我必须在我的 Delphi 应用程序中创建 dbf 文件。 对于本例,我使用 ADODB。 连接字符串: const ConnStringDBF = 'Driver={Microsoft dB
所以我是 Visual Basic 的新手,继承了我现在需要处理的 VB6 代码。现在,我正在尝试使用 ADODB.RecordSet 更新 SQL 数据库。我有一个 Select SQL 语句,可以
在 Excel 中,我使用 ADODB 连接来构建记录集,从其自己的工作簿中的工作表中获取数据,如下所示: Public Sub test() Dim cnn As New ADODB.Con
我想知道为什么当我把 sql ADODB在一个函数中查询它会产生以下错误: Fatal error: Call to a member function Execute() on a non-obje
我是一名优秀的程序员,十分优秀!