2014-12-02 78 views
1

作爲VB6新手,我試圖更新應用程序的舊版本。但是,下面的代碼出現了:過程聲明錯誤

過程聲明不匹配事件的描述或過程具有相同名稱

這裏是代碼片斷:

Private Sub ppdatPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, 
ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, 
ByVal pRecordset As ADODB.Recordset) 

Dim Position As Long 
Position = datPrimaryRS.Recordset.AbsolutePosition 
If Position = -1 Then Position = 0 
datPrimaryRS.Caption = "Record: " & CStr(Position) 
End Sub 

錯誤指向該線:

Private Sub ppdatPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 

任何幫助將不勝感激

+0

'BYVAL記錄作爲ADODB.Recordset'是不一樣的簽名,你是事件試圖委託給這個子。 – OneFineDay 2014-12-02 20:09:58

+0

http://technet.microsoft.com/en-us/ms675134(v=vs.71).aspx – Steve 2014-12-02 20:11:06

+0

@OneFineDay對不起,看來我寫錯子那裏。我更新了分。 – Navron 2014-12-02 20:16:50

回答

1

正確的簽名應該是:

Private Sub ppdatPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _ 
    ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _ 
    ByVal pRecordset As ADODB.Recordset20) 

的更多信息:

http://support.microsoft.com/kb/222145

http://www.vbmigration.com/detknowledgebase.aspx?Id=105

+0

雖然這顯然是沿着正確的軌道,我現在得到這個錯誤:**用戶定義的類型未定義**我正在使用Microsoft ActiveX數據對象2.0庫 – Navron 2014-12-03 21:21:53

+0

嘗試引用「Microsoft ActiveX數據對象2.8庫」,然後使用「Imports ADODB」。 – xpda 2014-12-03 22:36:14

+0

另外,我添加了「Dim datPrimaryRS As New Recordset」 – xpda 2014-12-03 22:38:23