标题:VB与access数据库连接出问题,请各位帮忙看看怎么回事。
只看楼主
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
结帖率:87.5%
已结贴  问题点数:20 回复次数:3 
VB与access数据库连接出问题,请各位帮忙看看怎么回事。
我用向导生成的一个管理系统,把其中系统自动生成的连接字符串和命令文本删了,改成运行程序时自动加载Private Sub Form_Load()里的内容,但一编译就报错:“过程声明与同名事件或过程的描述不匹配”。请问各位这是怎么回事?

代码如下:
Private Sub Command1_Click()
Dim str As String
 If Combo1.Text = "" Or Text1.Text = "" Then
  MsgBox "请输入查询条件和内容!"
    Exit Sub
    End If
     str = Combo1.Text & "like" & "'" & Text1.Text & "'"
       datPrimaryRS.Recordset.Fields str
         If datPrimaryRS.Recordset.AbsolutePosition < adPosBOF Then
         MsgBox "没有相关的记录!"
          datPrimaryRS.Recordset.MoveFirst
          End If
         
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Screen.MousePointer = vbDefault
End Sub

Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)
  '错误处理程序代码置于此处
  '想要忽略错误,注释掉下一行
  '想要捕获它们,在此添加代码以处理它们
  MsgBox "Data error event hit err:" & Description
End Sub

Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  '为这个 recordset 显示当前记录位置
  datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub

Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  '验证代码置于此处
  '下列动作发生时该事件被调用
  Dim bCancel As Boolean

  Select Case adReason
  Case adRsnAddNew
  Case adRsnClose
  Case adRsnDelete
  Case adRsnFirstChange
  Case adRsnMove
  Case adRsnRequery
  Case adRsnResynch
  Case adRsnUndoAddNew
  Case adRsnUndoDelete
  Case adRsnUndoUpdate
  Case adRsnUpdate
  End Select

  If bCancel Then adStatus = adStatusCancel
End Sub

Private Sub cmdAdd_Click()
  On Error GoTo AddErr
  datPrimaryRS.Recordset.AddNew

  Exit Sub
AddErr:
  MsgBox Err.Description
End Sub






Private Sub cmdDelete_Click()
  On Error GoTo DeleteErr
  With datPrimaryRS.Recordset
    .Delete
    .MoveNext
    If .EOF Then .MoveLast
  End With
  Exit Sub
DeleteErr:
  MsgBox Err.Description
End Sub

Private Sub cmdUpdate_Click()
  On Error GoTo UpdateErr

  datPrimaryRS.Recordset.UpdateBatch adAffectAll
  Exit Sub
UpdateErr:
  MsgBox Err.Description
End Sub

Private Sub cmdClose_Click()
  Unload Me
End Sub

Private Sub Form_Load()
Me.datPrimaryRS.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.8.51;DataSource=" & App.Path & "\database\助学贷款管理系统.mdb;"
Me.datPrimaryRS.RecordSource = "Select ID,姓名,性别,学号,身份证号,专业,住址,邮编,合同号,毕业,第一次划款,第一次划款时间,第二次划款,第二次划款时间,第三次划款,第三次划款时间,第四次划款,第四次划款时间 from 学生信息表 Order by ID"
Me.datPrimaryRS.Refresh
End Sub
搜索更多相关主题的帖子: access 数据库 
2009-11-22 23:39
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
过程声明与同名事件或过程的描述不匹配

这个错误表示,你自己重新的某个控件的事件响应过程与系统内部所要求的过程有不同.
找到那个不同的事件,把中间的代码复制出来,
然后删掉这个过程,
再双击这个控件,再选择这个事件,让系统自动生成一个空的响应过程,然后再把刚复制的代码粘进去.

最后,你这里需要处理一下
App.Path & "\database\助学贷款管理系统.mdb;"

在根目录下app.path 与子目录下的app.path返回的数据稍有不同,你要判断一下.
如在D:盘根目录下,返回的是  D:\
在D:盘1子目录下,返回的是   D:\1


授人于鱼,不如授人于渔
早已停用QQ了
2009-11-23 09:26
liuvking
Rank: 2
等 级:论坛游民
帖 子:22
专家分:20
注 册:2009-7-22
得分:0 
回复 2楼 风吹过b
我刚学VB不久,还不太明白,版主可否帮忙看看,谢谢!
提示出错的部分为:

Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
  '为这个 recordset 显示当前记录位置
  datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)
End Sub

过程声明与同名事件或过程的描述不匹配
2009-11-23 10:58
filly
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-12-2
得分:0 
版主真是个大好人。
2009-12-02 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-293027-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054644 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved