2011-04-18 253 views
0

我有一個問題讓我的記錄集在下面的代碼中正常工作,並且我不確定它的個人運行時錯誤是否是VBA固有缺陷的一部分。代碼如下記錄集錯誤VBA訪問2007

Option Compare Database 

Option Explicit 

Dim dbInquiry As New ADODB.Connection 

Dim rstVendor As New ADODB.Recordset 

Private Sub Form_Load() 

    Set dbInquiry = CurrentProject.Connection 
    rstVendor.Open "Select * from Vendors Order By VendorName", dbInquiry, adOpenKeyset, _ 
    adLockOptimistic, adCmdText 

    Me.lstVendors = rstVendor!VendorNo 
    Me.lstVendors.Requery 
    Call readVendor 

End Sub 

Private Sub readVendor() 

    Me.lblVendorNumber.Caption = rstVendor!VendorNo 
    Me.lblVendorName.Caption = rstVendor!VendorName 
    Me.lblVendorAddress.Caption = rstVendor!Address1 
    Me.lblVendorCity.Caption = rstVendor!City & ", " & rstVendor!Prov 
    Me.lblVendorPostal.Caption = rstVendor!PostCode 

End Sub 


Private Sub lstVendors_Click() 

    rstVendor.MoveFirst 
    rstVendor.Find "VendorNo = " & Me.lstVendors 
    Call readVendor 

End Sub 

現在,問題是閱讀數據庫。在表單加載時調用readVendor方法時,它的功能完美。當它被第一個項目點擊時,我得到錯誤3021:BOF,EOF或記錄被刪除。任何指導非常感謝。在此先感謝

+0

「並且我不確定它的個人運行時錯誤是否爲VBA的固有缺陷的一部分」 - 總是假設錯誤在您的代碼中:99.99%的時間。 – 2011-04-18 04:50:42

+0

我同意米奇。 VBA並不像.NET語言那樣健壯,但是你關於「固有的缺陷」的陳述意味着VBA充滿了錯誤,而事實並非如此。 – HK1 2011-04-18 13:15:19

回答

0

rstVendor.Find 「VendorNo =」 & Me.lstVendors

被發現的東西?和/或第一個供應商是否仍然開放?

+0

這就是我正在處理的特定表單的整個代碼。一個簡單的列表框綁定到標籤以顯示信息。但我認爲你是對的,這似乎是代碼因某種原因而中斷的行。現在看更多。非常感激 – Suburbanpsyco6 2011-04-18 04:35:36