亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

運行到"rs.Open Sql, conn, 1, 1"處,說“對象變量或with塊變量未設置” ?

運行到"rs.Open Sql, conn, 1, 1"處,說“對象變量或with塊變量未設置” ?

白豬掌柜的 2023-04-19 18:15:09
Private Sub Command1_Click()Call PutInExcel1("10")End SubSub PutInExcel1(i)'==================================Dim conn As New ADODB.ConnectionDim rs As ADODB.RecordsetFileName = "D:\database\db.mdb"CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName & ";Persist Security Info=False"conn.Open CnStr'==================================Dim ExlApp As New Excel.ApplicationExlFile = "D:\Database\test.xls"ExlApp.Workbooks.Open (ExlFile)ExlApp.Worksheets("blad1").Select'==================================Sql = "select a.* from list a where a.[chart no]='" & i & "' and a.[site-measurement]='1 - Depth'"Print Sqlrs.Open Sql, conn, 1, 1If rs(3) <> "missing" Then ExlApp.Cells(17, 3) = rs(3)If rs(4) <> "missing" Then ExlApp.Cells(17, 6) = rs(4)If rs(5) <> "missing" Then ExlApp.Cells(17, 9) = rs(5)ExlApp.SaveWorkspaceExlApp.Quitrs.Closeconn.CloseEnd Sub到底我做錯什么了????
查看完整描述

3 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

你的rs只是定義了一個記錄集,但并沒有把任何記錄集賦于它,所以才會出現這樣的錯誤。
你的程序最好增加二個自定義函數,把conn,Rs的加載與缷載單獨出來。否則,你會發現程序運行越來越慢,內存占用越用越多。
比如說:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ExlApp As Excel.Application

public sub CrOBJ()
set conn = new ADodb.connection
set rs = new adodb.recordset
set ExlApp = new Excel.Application
end sub 
public sub killOBJ()
set conn = nothing
set rs = nothing
set ExlApp = nothing
end sub
第一個函數可以在Form_load()中加載而后一個函數可以在Form_unload()中加載。這樣做的好處就是打開頁面就調用,關閉頁面就缷載??梢詼p小內存占用!


查看完整回答
反對 回復 2023-04-23
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

Dim rs As ADODB.Recordset
改為: 
Dim rs As new ADODB.Recordset
試試

查看完整回答
反對 回復 2023-04-23
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

你的代碼沒有錯誤,如果總是出現“對象變量或with塊變量未設置”錯誤,只有一個可能,就是你的 MSHFlexGrid 控件的問題。當用的是 MSFlexGrid 控件時,會出現你說的問題。

查看完整回答
反對 回復 2023-04-23
  • 3 回答
  • 0 關注
  • 292 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號