Foxtable(狐表)用户栏目专家坐堂 → SQLTable动态表的绑定与设置显示行


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

主题:SQLTable动态表的绑定与设置显示行

帅哥,在线噢!
有点蓝
  71楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

这代码是想干嘛?

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  72楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 15:40:00 [只看该作者]

我删除了缴费情况DataColChanging事件中的代码,改在DataColChanged中写,把不允许重复录入改为重算保存,但执行后值无改变。
我要实现如果缴费情况表中的行存在窗口行中的车牌号号及单号,不允许重复录入,把缴费情况表中单号为窗口单号的数据保存为窗口上的数据。
[此贴子已经被作者于2021/3/19 15:45:32编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  73楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 15:41:00 [只看该作者]

这是编辑数据时的操作。

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


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

这种逻辑还是放到按钮吧。不要在表事件里重新加载本表的数据

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  75楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 16:27:00 [只看该作者]

保存是在按钮中执行啊,但缴费情况表中的数据无改变,被不允许重复保存代码取消执行了,现在的问题是如何实现不允许重复录,缴费情况表保存修改后的数据?
[此贴子已经被作者于2021/3/19 16:33:49编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  76楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 16:33:00 [只看该作者]

还有你说自动行高没问题,我这记账凭证窗口中的摘要、会计科目、明细科目列试来试去都无法实现自动行高,不知你怎样试出的!

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


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

这种窗口编辑模式除非只有一台客户端同时使用使用,否则就只能在保存的时候再做重复值判断,因为窗口表数据没有保存前,这些数据和原表以及数据库都没有什么关系,做再多重复判断都没有用。例如这一刻判断了,假设窗口10分钟后再保存,这10分钟期间,可能会有其它用户也在编辑录入数据,然后录入了相同的数据,那么之前的判断就没意义了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  78楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 17:26:00 [只看该作者]

窗口上我是做了两种判断啊,一个是已存在就在原数据上重新保存,一个是不存在就添加:
Select Case e.StripItem.Name
    Case "保存" '保存代码
        Dim drs As List(of DataRow) = DataTables("缴费情况").SQLSelect("[单号] = '" & Forms("月租收费").Controls("dh").text & "' And ([已审核] = False Or [已审核] Is null)")
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
            Return
        ElseIf drs.count > 0 Then
            For Each dr As DataRow In drs
                Dim trs As List(of DataRow) = DataTables("月租收费_Table1").Select("[车牌号码] is not null")
                For i As Integer = 1 To trs.count - 1
                    dr("缴费_月租_起计日期") = trs(i)("缴费_月租_起计日期")
                    dr("缴费_月租_止计日期") = trs(i)("缴费_月租_止计日期")
                    dr("缴费_月租_缴费月数") = trs(i)("缴费_月租_缴费月数")
                    dr("缴费_月租_月租单价") = trs(i)("缴费_月租_月租单价")
                Next
            Next
            DataTables("缴费情况").SQLUpdate(drs)
            DataTables("缴费情况").Load
        ElseIf drs.count = 0 Then
            For Each dt As DataRow In DataTables("月租收费_Table1").Select("[车牌号码] is not null")
                Dim r As DataRow = DataTables("缴费情况").SQLFind("[车牌号码] = '" & dt("车牌号码") & "'And [单号] = '" & e.Form.Controls("dh").text & "' And ([已审核] = False Or [已审核] Is null)")
                If r Is Nothing Then
                    r = DataTables("缴费情况").addnew
                    r("日期") = e.Form.Controls("rq").text
                    r("单号") = e.Form.Controls("dh").text
                    r("分类") = DataTables("分类").DataRows(0)("分类")
                    r("车牌号码") = dt("车牌号码")
                    r("备注") = dt("备注")
                    r("前缀") = "YZ"
                    r("缴费_月租_起计日期") = dt("缴费_月租_起计日期")
                    r("缴费_月租_止计日期") = dt("缴费_月租_止计日期")
                    r("缴费_月租_缴费月数") = dt("缴费_月租_缴费月数")
                    r("缴费_月租_月租单价") = dt("缴费_月租_月租单价")
                    r("录入员") = e.Form.Controls("lry").text
                    r("操作人姓名") = User.Name & " " & Date.Now
                End If
            Next
        End If
        DataTables("缴费情况").Save()

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


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

看不懂您处理问题的逻辑。另外尽量不要在表事件里出现加载自己的用法,可能会导致无法预料的问题

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  80楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/19 17:30:00 [只看该作者]

现在的问题还是缴费情况表上的数据并无更新,这时候不能用跨表引用同步更新方法,因为窗口上的数据关闭后被删除,应如何解决保存窗口上修改过的数据,这是很常用的数据编辑问题。

 回到顶部