急求教关于出、入库的数据验证问题!在线等待!

D_net 2003-02-20 10:46:21
一个入库表<tbljpig>,一个出库表<tbljpcg>;各由一个窗口链接表作为数据入口,字段如下:
<tbljpig>
jpuc jpp rem igs
(文本) (文本) (文本) (入库数,数字)

<tbljpcg>
jpuc jpp rem cgs
(文本) (文本) (文本) (出库数,数字)

我希望在每录入一条出库记录时:验证入库表中有此记录,且igs>cgs,以jpuc,jpp,rem 3个字段相同为依据。

我的思路:在窗体的BeforeUpdate事件中采用以下代码:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim conn As ADODB.Connection
Dim rst As Recordset
Set conn = CurrentProject.Connection
Dim strCriteria As String

rst.Open "tbljpig", conn, adOpenKeyset, adLockOptimistic
strCriteria = "jpuc='" & Me.jpuc & "'" And "jpp='" & Me.jpp & "'" And "rem='" & Me.rem & "'"
rst.Find strCriteria
If rst.RecordCount > 1 Then
MsgBox "Sorry!can't find what your input!"
End If

End Sub
但无法达到目的,向高手求教!多谢!(我是在ACCESS的VBA中的)
或者希望哪位给个email!不胜感激!

jacky_hanxp@hotmail.com
...全文
47 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
D_net 2003-02-20
  • 打赏
  • 举报
回复
谢谢大家!
象这种情况,应该在那个事件中编程??
我改了一下:(对不起,是"If rst.RecordCount < 1",前面写">1"了)

Private Sub Form_AfterUpdate()
Dim conn As ADODB.Connection
Dim rst As Recordset
Set conn = CurrentProject.Connection
Dim strCriteria As String

rst.Open "select * from tbljpig where jpuc='" & Me.jpuc & "' and jpp='" & Me.jpp & "' and rem='" & Me.rem & "'", conn, adOpenKeyset, adLockReadOnly

If rst.RecordCount < 1 Then
MsgBox "Sorry!can't find what your input!"
End If

End Sub

系统提示:“运行时错误91,对象变量或with块变量为设置!

而如果把以上代码放在Private Sub Form_AfterInsert()过程中则没任何反应??

多多指教!
bluesanke 2003-02-20
  • 打赏
  • 举报
回复
adodc.record.后面虽然可选find但是在msdn中find是没有的,所以我最近也在为这个find而发愁!要是那位高手知道希望告之!是不是不能用find,那用do while怎么做,或者有什末更好的方法
nik_Amis 2003-02-20
  • 打赏
  • 举报
回复
up
饮水需思源 2003-02-20
  • 打赏
  • 举报
回复
rst.Open "tbljpig", conn, adOpenKeyset, adLockOptimistic
strCriteria = "jpuc='" & Me.jpuc & "'" And "jpp='" & Me.jpp & "'" And "rem='" & Me.rem & "'"
rst.Find strCriteria

这些改为:
rst.open " select * from tbljpip where jpuc='"& me.jpuc &"' and jpp='"& me.jpp &"' and rem='"& me.rem &"'" ,conn,adopenkeyset,adlockreadonly
D_net 2003-02-20
  • 打赏
  • 举报
回复
多谢tiande(天地)!
tiande 2003-02-20
  • 打赏
  • 举报
回复
Private Sub Form_AfterUpdate()
Dim conn As ADODB.Connection
Dim rst As Recordset
Set conn = CurrentProject.Connection
Dim strCriteria As String

rst.Open "select * from tbljpig where jpuc='" & Me.jpuc & "' and jpp='" & Me.jpp & "' and rem='" & Me.rem & "'", conn, adOpenKeyset, adLockReadOnly

if rst.eof Then
MsgBox "Sorry!can't find what your input!"
End If

End Sub
D_net 2003-02-20
  • 打赏
  • 举报
回复
up! up!

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧