Office中国论坛/Access中国论坛

标题: 请各位帮我看一下错在哪里 [打印本页]

作者: majian77    时间: 2002-11-7 16:36
标题: 请各位帮我看一下错在哪里
我想在输入数据时,如果有两个字段在表中已经有相同记录时,他会自动进行提示,但下面的语句不知问题出在哪里,请各位帮我看一下,谢谢了!
每次用的时候就会出现如图所示

Private Sub COLOR_BeforeUpdate(Cancel As Integer)
Dim STRSQL As String
Dim RS1 As Recordset
STRSQL = "SELECT * FROM SPEC list WHERE SPEC list.SPECNAME='" & Me.SPECNAME & "'AND SPEC list.COLOR='" & Me.COLOR & "'"
Set RS1 = CurrentDb.OpenRecordset(STRSQL)
If RS1.RecordCount <> 0 Then
   MsgBox "你输入的资材已经有记录,请重新输入!"
   Exit Sub
End If

End Sub[em18][em18][em18][em18][em18]
作者: AlexLiu    时间: 2002-11-7 16:48
对于这种情况,建议用DLOOKUP,还有当表名中有空格时,表名要用“[]”说明。

Private Sub COLOR_BeforeUpdate(Cancel As Integer)
Dim STRSQL As String
STRSQL = "SPECNAME='" & Me.SPECNAME & "'AND COLOR='" & Me.COLOR & "'"
If not isnull(DLOOKUP("SPECNAME","[SPEC list]",STRSQL) THEN
MsgBox "你输入的资材已经有记录,请重新输入!"
cancel=true
Exit Sub
End If


作者: zhuyiwen    时间: 2002-11-7 17:07
这里是不是有错:

SELECT * FROM SPEC list

是不是为:

SELECT * FROM list

[em26]
作者: majian77    时间: 2002-11-7 18:43
朱哥,我的表名是Spec list 呀
AlexLiu,在语句中我用[]时,会出现类型不匹配
两位大哥,我还是把例子传,麻烦两位帮我看一下错在哪里,这个问题烦了我两三天了,就是不知所以然来,谢谢谢文件下载
作者: goodidea    时间: 2002-11-7 18:52
[Spec list]
作者: 大熊    时间: 2002-11-7 19:12
[Spec list]的确就可以了,另外微软公司不推荐使用带空格的对象名,使用Dlookup也更方便!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3