以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现某个表每天只能增加500行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21049)

--  作者:jswjyjf
--  发布时间:2012/6/28 15:27:00
--  如何实现某个表每天只能增加500行?
 

假定规定某个表每天只能增加500行,我们只需该表的BeforeAddDataRow事件的代码设为:

Static i As integer \'定义一个静态变量
i = i + 1 \'
每次增加行,静态变量的值就加1
If
i >= 500 Then \'如果增加了500
    Messagebox.Show("
每天只能在表A中增加500!","提示")
    e.Cancel = True \'
那么取消增加行
End
If

 

这是帮助里的原代码

 

具体我发现1个问题:重新启动项目 有可以增加了

 请教大师 是不是这样

 

 


--  作者:狐狸爸爸
--  发布时间:2012/6/28 15:39:00
--  
每次退出前,你把这个值保存在表中。
--  作者:jianjingmaoyi
--  发布时间:2012/6/28 21:43:00
--  
试试这样,在新增按钮中放入这个代码:

Dim n As Integer = GetConfigValue("Count",1)
Tables("表A").AddNew
If n > 500 Then
    MessageBox.Show("今日已经新增了500行了")
    e.Sender.Enabled = False
End If
n = n + 1
SaveConfigValue("Count",n)


然后在窗口事件放入这个代码:

Dim n As Integer = GetConfigValue("Count",1)
If n > 2 Then
    e.Form.Controls("Button1").Enabled = False
End If

 这样一来  新增满500行后  就会锁定按钮,哪怕再次打开窗口,按钮也是锁定的.  至于每一天 就要另外加入判断了.

--  作者:程兴刚
--  发布时间:2012/6/28 21:56:00
--  
以下是引用狐狸爸爸在2012-6-28 15:39:00的发言:
每次退出前,你把这个值保存在表中。

 

     这是您帮助中的逻辑不严谨,误导了观众,有众多的方法可以实现限制某个表每天添加500行,偏偏举了一个重启项目后归零的静态变量的例子,也不详细交代一下,直接判断日期,保存一个项目设置信息不就ok了吗?


--  作者:blackzhu
--  发布时间:2012/6/29 7:17:00
--  
以下是引用jianjingmaoyi在2012-6-28 21:43:00的发言:
试试这样,在新增按钮中放入这个代码:

Dim n As Integer = GetConfigValue("Count",1)
Tables("表A").AddNew
If n > 500 Then
    MessageBox.Show("今日已经新增了500行了")
    e.Sender.Enabled = False
End If
n = n + 1
SaveConfigValue("Count",n)


然后在窗口事件放入这个代码:

Dim n As Integer = GetConfigValue("Count",1)
If n > 2 Then    \'这个地方错了应该是500.
    e.Form.Controls("Button1").Enabled = False
End If

 这样一来  新增满500行后  就会锁定按钮,哪怕再次打开窗口,按钮也是锁定的.  至于每一天 就要另外加入判断了.