Foxtable(狐表)用户栏目专家坐堂 → DeleteFor如何删除老记录,保持行数记录不超10000条


  共有2882人关注过本帖树形打印复制链接

主题:DeleteFor如何删除老记录,保持行数记录不超10000条

帅哥哟,离线,有人找我吗?
宇哥
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
DeleteFor如何删除老记录,保持行数记录不超10000条  发帖心情 Post By:2021/2/24 0:17:00 [只看该作者]

如题
[此贴子已经被作者于2021/2/24 0:18:11编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/24 8:35:00 [只看该作者]

Dim dr As DataRow
dr = 
DataTables("订单").Find("","日期 Desc",10000)
If 
dr IsNot Nothing Then '如果找到的话
    
DataTables("订单").DeleteFor("[日期] < #" & dr("日期") & "#")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
宇哥
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/3/1 9:43:00 [只看该作者]

改成这样,数据不执行删除操作,求助:

Dim Result As DialogResult
Result = MessageBox.Show("此操作将清除10天以前全部数据操作日志,确认要清除吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
    Dim y As DialogResult
    y = MessageBox.Show("再次确认您的操作是否要执行?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)
    If y = DialogResult.Yes Then

        Dim d As Date = Date.Today.AddDays(-10)
        DataTables("数据操作日志").DeleteFor("[时间] < #" & d & "#" )
       DataTables("数据操作日志").save
        DataTables("数据操作日志").Load

    Else
        Return
    End If
Else
    Return
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 9:52:00 [只看该作者]

代码没有问题。什么数据库?

 回到顶部
帅哥哟,离线,有人找我吗?
宇哥
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/3/1 9:57:00 [只看该作者]

外部access ,窗口表是副本

图片点击可在新窗口打开查看此主题相关图片如下:7`wdmml700u%k$s)e36pare.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 9:59:00 [只看该作者]

确认删除后数据库还有10天前的数据?

窗口表使用了fill?或者是sqltable?

 回到顶部
帅哥哟,离线,有人找我吗?
宇哥
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/3/1 10:11:00 [只看该作者]

有可能是表类型问题

图片点击可在新窗口打开查看此主题相关图片如下:r3g3{dkuufrex~stu{zun5.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111407 积分:567105 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/1 10:18:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
宇哥
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/3/1 11:55:00 [只看该作者]

还有一个问题:人员表和窗口副本表关联,打开窗口之后  当前行总自己跑一遍  为啥

图片点击可在新窗口打开查看此主题相关图片如下:简单演示56.gif
图片点击可在新窗口打开查看


副本表事件:
If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
Else
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("人员表").FindRow(dr)
    If wz >=0 Then
        Tables("人员表").Position = wz
    End If
    
End If


人员表事件:
If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
Else
    If Forms("人员信息").Opened Then '如果窗口已经打开
        Dim dr As DataRow = e.Table.Current.DataRow
        Dim wz As Integer = Tables("人员信息_Table1").FindRow(dr)
        If wz >=0 Then
            Tables("人员信息_Table1").Position = wz
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
宇哥
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:137 积分:1046 威望:0 精华:0 注册:2021/1/7 16:45:00
  发帖心情 Post By:2021/3/1 11:57:00 [只看该作者]

篮版  ,解决了
[此贴子已经被作者于2021/3/1 11:59:36编辑过]

 回到顶部