Office中国论坛/Access中国论坛

标题: 谁帮我看一下~ [打印本页]

作者: keanu    时间: 2005-1-11 16:27
标题: 谁帮我看一下~
Private Sub cmdadd2_Click()

Dim a As String

Dim b As String

Dim db As Database

Dim rs As DAO.Recordset

Dim str As String

a = Me.材料名称

b = Me.材料名称

If IsNull(Me.材料名称) Or Trim(Me.材料名称) = "" Then

MsgBox "材料名称不能为空!"

Else

a = DLookup("材料名称", "材料价格表", "材料名称='" & Me.材料名称 & "'")←提示这里是黄色的,出错

If IsNull(a) = False Then

Set db = CurrentDb

'Set rs = db.OpenRecordset

str = "insert into 材料价格表(材料名称,价格) values('" & b & "','" & Me.材料价格 & "')"

db.Execute (str)

MsgBox "新材料添加成功"

Me.材料名称 = Null

Me.材料价格 = Null

Else

MsgBox "该材料已存在,请重新输入!"

Me.材料名称 = Null

Me.材料价格 = Null

End If

End If

End Sub



谁帮我分析一下。

[attach]8543[/attach]

[attach]8544[/attach]


作者: george    时间: 2005-1-11 16:55
以下是引用keanu在2005-1-11 8:26:31的发言:

Private Sub cmdadd2_Click()

Dim a As String

Dim b As String

Dim db As Database

Dim rs As DAO.Recordset

Dim str As String

a = Me.材料名称

b = Me.材料名称

If IsNull(Me.材料名称) Or Trim(Me.材料名称) = "" Then

MsgBox "材料名称不能为空!"

Else

a = DLookup("材料名称", "材料价格表", "材料名称='" & Me.材料名称 & "'")←提示这里是黄色的,出错

If IsNull(a) = False Then

Set db = CurrentDb

'Set rs = db.OpenRecordset

str = "insert into 材料价格表(材料名称,价格) values('" & b & "','" & Me.材料价格 & "')"

db.Execute (str)

MsgBox "新材料添加成功"

Me.材料名称 = Null

Me.材料价格 = Null

Else

MsgBox "该材料已存在,请重新输入!"

Me.材料名称 = Null

Me.材料价格 = Null

End If

End If

End Sub



谁帮我分析一下。




类型好象不对,dim a as string?
作者: keanu    时间: 2005-1-11 17:07
问题已经解决,多谢zhengjialon

我把代码发上来,今天又多学一招,呵呵

Private Sub cmdadd2_Click()

On Error Resume Next

Dim db As Database

Dim rs As DAO.Recordset

Dim str As String

If IsNull(Me.材料名称) Or Trim(Me.材料名称) = "" Then

MsgBox "材料名称不能为空!"

Else

If IsNull(DLookup("材料名称", "材料价格表", "材料名称='" & Me.材料名称 & "'")) Then

'以前当返回值是空的时候会报错,用这个语句就不会了

Set db = CurrentDb

'Set rs = db.OpenRecordset

str = "insert into 材料价格表(材料名称,价格) values('" & Me.材料名称 & "','" & Me.材料价格 & "')"

db.Execute (str)

MsgBox "新材料添加成功"

Me.材料名称 = Null

Me.材料价格 = Null

Else

MsgBox "该材料已存在,请重新输入!"

Me.材料名称 = Null

Me.材料价格 = Null

End If

End If

End Sub

[此贴子已经被作者于2005-1-11 9:07:49编辑过]


作者: 情比金坚    时间: 2005-1-11 17:31
其实dim a就不会报错




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