主题:检查了n遍,不知哪错了,各位老师请帮我看看
运行结果,没用重复的时候,也会出来现世商品重复的消息框。之后我打开access数据库看,这条数据也在里面。
用SSTAB转换商品添加表和供应商添加表
tab1是商品 tab2是工厂
保存产品按钮在tab1 上
商品表的数据控件用的data,工厂用的是adodc
显示红色字编码有误
代码如下:
[size=3]Private Sub Command3_Click() '保存产品按钮
If Text2(1).Text = "" Or Text2(3).Text = "" Then '如果商品编码或商品名称为空则
MsgBox " 红色项目为必填项 ! ", 0, "提示信息"
ElseIf IsNumeric(Text2(5)) = False Or IsNumeric(Text2(8)) = False Then '如果销售价或批发价不是数字则
MsgBox " 销售价和批发价只能填数字 ! ", 0, "提示信息"
Else
[color=FF0000]Data1.Recordset.FindFirst "[商品名称]=" + "'" + Text2(3).Text + "'" [/color] '检查商品名称是否重复
If Data1.Recordset.NoMatch Then '没查询无结果则
Data1.Recordset.Update '添加数据
Data1.Refresh '更新数据
Data1.Recordset.MoveLast '移到数据末
X = MsgBox(" 数据已保存,是否为其添加供应商?", 1, "提示信息") '并提供消息框
If X = 1 Then '如果选择确定
SSTab1.Tab = 1 '则供应商选项卡激活
Adodc1.Recordset.AddNew 'adodc1(供应商)添加数据
Text1(0).Text = Text2(3).Text '供应商表中商品名=goods表中商品名
Text1(4).SetFocus '工厂名空格获得焦点
If Adodc1.Recordset.RecordCount = 0 Then '如果供应商表中数据数为0
Label2.Caption = "2001001" '则标签2的文字显示为2001001(标签2对应供应商表的记录编码字段)
Else
Label2.Caption = CStr(Adodc1.Recordset.RecordCount + 2001001) '如果供应商表有数据,则label2的文字显示数据总数加上2001001的和
End If
End If
Else '如果查询有结果
MsgBox "商品名称重复,请重新输入!", 0, "提示信息" '商品名称重名提示
Text2(3).SetFocus
End If
End If
End Sub[/size]
用SSTAB转换商品添加表和供应商添加表
tab1是商品 tab2是工厂
保存产品按钮在tab1 上
商品表的数据控件用的data,工厂用的是adodc
显示红色字编码有误
代码如下:
[size=3]Private Sub Command3_Click() '保存产品按钮
If Text2(1).Text = "" Or Text2(3).Text = "" Then '如果商品编码或商品名称为空则
MsgBox " 红色项目为必填项 ! ", 0, "提示信息"
ElseIf IsNumeric(Text2(5)) = False Or IsNumeric(Text2(8)) = False Then '如果销售价或批发价不是数字则
MsgBox " 销售价和批发价只能填数字 ! ", 0, "提示信息"
Else
[color=FF0000]Data1.Recordset.FindFirst "[商品名称]=" + "'" + Text2(3).Text + "'" [/color] '检查商品名称是否重复
If Data1.Recordset.NoMatch Then '没查询无结果则
Data1.Recordset.Update '添加数据
Data1.Refresh '更新数据
Data1.Recordset.MoveLast '移到数据末
X = MsgBox(" 数据已保存,是否为其添加供应商?", 1, "提示信息") '并提供消息框
If X = 1 Then '如果选择确定
SSTab1.Tab = 1 '则供应商选项卡激活
Adodc1.Recordset.AddNew 'adodc1(供应商)添加数据
Text1(0).Text = Text2(3).Text '供应商表中商品名=goods表中商品名
Text1(4).SetFocus '工厂名空格获得焦点
If Adodc1.Recordset.RecordCount = 0 Then '如果供应商表中数据数为0
Label2.Caption = "2001001" '则标签2的文字显示为2001001(标签2对应供应商表的记录编码字段)
Else
Label2.Caption = CStr(Adodc1.Recordset.RecordCount + 2001001) '如果供应商表有数据,则label2的文字显示数据总数加上2001001的和
End If
End If
Else '如果查询有结果
MsgBox "商品名称重复,请重新输入!", 0, "提示信息" '商品名称重名提示
Text2(3).SetFocus
End If
End If
End Sub[/size]