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


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

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

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


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

代码放在DataColChanged不对,我现在在棋协,回家再想。

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


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

1、2:看不懂您的处理逻辑。单号是根据日期生成的,反过来单号又限制日期的选择?
3、全局表写代码的是ValidateEdit事件,窗口里开启的是AfterEdit事件,完全牛头不对马嘴,能解决的了才怪
4、我测试没有这种问题

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


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

单号根据控件上的日期生成不错,但一旦修改日期就重复再生成新的单号点保存重复录入了,所以要有条件生成单号,当缴费情况表已保存这张单号,从双击缴费情况表弹出的窗口修改数据时单号保持不变。
第4个问题,关闭了这个窗口又再弹出来。

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210321222936.png
图片点击可在新窗口打开查看



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


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

自动行高到底应怎改?

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


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

简单的判断一下单号控件如果有值,就不要生成单号了呗。

第4个问题我测试没有这种情况。试试卸载foxtable安装到其它目录

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


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

以下是引用有点蓝在2021/3/18 14:24:00的发言:
dt.GlobalHandler.AfterEdit = True放到窗口表设置datasouce之后
表是动态生成的,设置的代码都在AfterLoad事件里,不放这里放哪?没有你说的datasouce


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


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

我开始也是这样直接判断控件上是否有单号,不能这样判断,改了日期又生成新的单号,保存就又保存一次了,但内容依然是原来的数据,所以不能这样判断,我试过了,这样会搞乱数据的。

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


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

改了日期判断如已有单号就不要生成新的单号

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


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

上面的代码已经判断了
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")'dh是单号控件
Dim di As String = yzdh.Value 'di单号控件中的变量
Dim yzrq As WinForm.DateTimePicker = e.Form.Controls("rq")
Dim d As Date = yzdh.Value
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim fd As Date = New Date(y,m,1) '获得该月的第一天
Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
Dim dts As Integer = DataTables("缴费情况").Compute("Count([车牌号码])","[单号] = '" & di & "'")
If e.Form.Controls("rq").value IsNot Nothing And dts = 0 Then
    Dim bh As String = "YZ" & "-" & Format(d,"yyyyMM") & "-" '生成编号的前缀
    Dim max As String
    Dim idx As Integer
    Dim flt As String
    flt = "[前缀] = 'YZ' And [日期] >= #" & fd & "# And [日期] <= #" & ld & "#"
    max = DataTables("缴费情况").Compute("Max(单号)",flt) '取得该月的相同工程代码的最大单据编号
    If max > "" Then '如果存在最大单据编号
        idx = CInt(max.Substring(10,5)) + 1 '获得最大单据编号的后四位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    di = bh & Format(idx,"00000")
    yzdh.Value = di
End If

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


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

以保存了的为准,不然没保存前点错日期不让修改重新生成单号不可能吧?
[此贴子已经被作者于2021/3/21 22:56:36编辑过]

 回到顶部