以上两种方法是本人现在常用的,仅供参考。作者: todaynew 时间: 2009-6-30 16:49
1.我的本意是希望控件点击一次后不能再点击,目的是避免重复追加记录,但是不会。
答:可以在追加完成后,将各控件值置空。那么就可以通过判断某一个或多个控件值(必输字段)是否为空,来决定追加的相关语句是否执行。
2.如果执行INSERT INTO之前先判断,WHERE当前窗体对应的记录中[工作号][rmb结算方]同时不在表“出口发票信息数据库”中时再追加,可是我也不会。
答:可以用Dlookup函数查找数据库中是否存在相关记录,在此基础上用IF。。。End IF结构完成语句。
3.我在最后边添加了执行完后就隐藏这个按钮的两句话,可是这样一来,下一条记录想操作,按钮也不见了。
答:按1的答案则不必隐藏按钮。作者: Y9X 时间: 2009-6-30 18:00
谢谢TODAYNEW,答案1能否示例一下,原理听懂了,但还是不会应用作者: Y9X 时间: 2009-7-4 11:17
todaynew 你好,你第一个答案的思路我用了,可以达到这个效果,你看看代码是不是这个意思:
Private Sub Command5_Click()
If Nz(Me.打印时间) <> 0 Then
MsgBox "发票已经开过了,不能再开第二次" & vbCrLf & "如果作废重开的话,请新增一票" & vbCrLf & "或者让业务重新发送开票数据也可"
End
End If
Dim b As String
b = Nz(Me.发票号)
If b = "" Then
MsgBox ("发票号没有登记,不能执行打印")
End
End If
DoCmd.Close
Dim a As Long
DoCmd.OpenReport " 国际货运代理业专用发票(套打格式)", acViewPreview
a = MsgBox("请放好发票准备打印", vbOKCancel)
If a = 2 Then
DoCmd.CancelEvent
Else
DoCmd.OpenReport "国际货运代理业专用发票(套打格式)", acViewNormal
End If
Dim c As Date
c = Now()
Forms![国际货运代理业专用发票-窗体模版]!打印时间 = c