网行者,回复的示例代码台下:
Private Sub Command8_Click()
POChk = DCount("[PO]", "表A", "[PO]='" & Me.PO & "' And [产品编号]='" & Me.产品编号 & "' And [数量]=" & Me.数量)
If POChk <> 0 Then
Response = MsgBox("表内已有相同数据,是否继续追加!", vbYesNo, "提示")
If Response = vbYes Then
DoCmd.RunSQL "insert into 表A (PO,产品编号,数量) values ('" & Me.PO & "','" & Me.产品编号 & "','" & Me.数量 & "')"
MsgBox "数据已添加,请添加下一条!", vbInformation, "提示"
Me.产品编号 = Null
Me.数量 = Null
ElseIf Response = vbNo Then
MsgBox "请重新选择!", vbInformation, "提示"
Me.产品编号 = Null
Me.数量 = Null
End If
Else
DoCmd.RunSQL "insert into 表A (PO,产品编号,数量) values ('" & Me.PO & "','" & Me.产品编号 & "','" & Me.数量 & "')"
MsgBox "数据已添加,请添加下一条!", vbInformation, "提示"
Me.PO = Null
Me.产品编号 = Null
Me.数量 = Null
End If
End Sub
运行后有如下问题:
1. 如有重复记录每次只能追加一条,在实际应用中不实用,因按PO查询到的记录有几十条。
2. 当不想追加点击“否”后会弹出错误调整窗口。
3.子窗体下面的“产品编号”和“数量”文本框是否为POChk = DCount("[PO]", "表A", "[PO]='" & Me.PO & "' And [产品编号]='" & Me.产品编号 & "' And [数量]=" & Me.数量)而设?我觉得可以优化。
另,为何不直接运行已设置好的“追加查询”,而另写语句“insert into 表A (PO,产品编号,数量) values ('" & Me.PO & "','" & Me.产品编号 & "','" & Me.数量 & "')”?
是否我太菜问题太多了?