以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  能不能实现警告  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55852)

--  作者:man9997
--  发布时间:2014/8/25 0:31:00
--  能不能实现警告
例如:张三 开票在同一天开了7张票后,若果在开票系统会提示你在这一天已经开了7张票,你确定还要在开吗,点击是继续,点击否,不在开票,

老师能实现吗,若果能真样实现???



上传了表体;

我想实现的是当我在窗体中开票日期中输入日期的时候;他会根据不的开票人进行提示,

例如张三开票 10月27日这天 已经开了7张票了,当张三再次开票的时候会出现提示,你已经开了7张票了
      


shc
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日期提示.table

[此贴子已经被作者于2014-8-25 8:33:51编辑过]

--  作者:land089
--  发布时间:2014/8/25 1:24:00
--  
Dim Nos As List(Of String)
Nos = DataTables("xx").GetValues("票据编号",[日期] = #6/1/2012#")
If Nos.count>=7 Then
    If MessageBox.Show("你在这一天已经开了7张票,你确定还要在开吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.No Then
        Return
    Else
        执行代码
    End If
End If

--  作者:man9997
--  发布时间:2014/8/25 8:18:00
--  
这段代码应该放下那里呢
--  作者:狐狸爸爸
--  发布时间:2014/8/25 8:21:00
--  

就放在你原来的开票按钮中。

有具体的问题,才会有具体的答案

[此贴子已经被作者于2014-8-25 8:20:53编辑过]

--  作者:man9997
--  发布时间:2014/8/25 9:34:00
--  
老师在吗???
--  作者:有点甜
--  发布时间:2014/8/25 10:09:00
--  

 DataColChanged事件,如下代码

 

If e.DataCol.Name.StartsWith("开票日期") AndAlso e.DataCol.Name.EndsWith("日期") AndAlso e.NewValue <> Nothing Then
    Dim sum As Integer = 0
    For i As Integer = 1 To 3
        Dim count As Integer = e.DataTable.Compute("count(_Identify)", "开票日期" & i & "_日期 = #" & e.NewValue & "# and 开票人信息_姓名 = \'" & e.DataRow("开票人信息_姓名") & "\'")
        sum += count
    Next
    If sum >= 7 Then
        msgbox(e.NewValue & "超过7张")
        e.DataRow(e.DataCol.Name) = Nothing
    End If
End If


--  作者:man9997
--  发布时间:2014/9/11 12:57:00
--  
老师 还是关于这个问题的。 
例如: 我新增加了一行,但我在这行输入开票人姓名是小三,在日期上我输了7次相同的一天日期{例如8月8日,到第7次以后能还能输入日期并没有提示,当我保存后,在重新登录后 当我在输入小三和 8月8月后才提示 已经超过了7次,

老师能不能再输入的时候 能提示呢??


--  作者:有点甜
--  发布时间:2014/9/11 14:21:00
--  
 回复7楼,用6楼代码测试,没有任何问题。请认真测试。