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


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

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

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 8:50:00 [显示全部帖子]

以下是引用采菊东篱下在2021/3/22 23:27:00的发言:
这是两个表共用一个窗口,原来的表是录入表,双击缴费情况表的行弹出的是查询表,允许修改,我知道日期控件为什么错了,改为这样红色标注报错,没这样写法,修改后的日期跟修改前的日期比较才能判断是否超出,修改前的日期怎写?
Dim yzrq As WinForm.DateTimePicker = e.Sender 'rq是日期控件
Dim d As Date = yzrq.Value
Dim dj As Date = yzrq.OldValue
Dim y As Integer = dj.Year
Dim m As Integer = dj.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 c As Integer = DataTables("缴费情况").SQLCompute("Count([车牌号码])","[单号] = '" & Forms("月租收费").Controls("dh").Value & "'")
If c > 0 Then
    If d < fd Or d > ld Then
        e.cancel = True '如果是,取消操作
        MessageBox.Show("修改的日期不能超出已保存单号所属月份","提示")
    End If
End If

[此贴子已经被作者于2021/3/23 0:48:33编辑过]

控件没有办法获取旧值,
只能弹个提示给用户
[此贴子已经被作者于2021/3/23 8:50:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 11:26:00 [显示全部帖子]

Dim yzrq As WinForm.DateTimePicker = e.Sender 'rq是日期控件
Dim d As Date = yzrq.Value
Dim y As Integer = dj.Year
Dim m As Integer = dj.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 c As Integer = DataTables("缴费情况").SQLCompute("Count([车牌号码])","[单号] = '" & Forms("月租收费").Controls("dh").Value & "'")
If c > 0 Then
    If d < fd Or d > ld Then
        e.cancel = True '如果是,取消操作
        MessageBox.Show("修改的日期不能超出已保存单号所属月份","提示")
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 11:46:00 [显示全部帖子]

dim dh as string = Forms("月租收费").Controls("dh").text
if dh > "" then
dim y as integer = cint(dh,substring(3,4))
msgbox(y)
dim m as integer = cint(dh,substring(7,2))
msgbox(m)
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) '获得该月的最后一天
if e.sender.value < fd orelse e.sender.value > ld
       e.cancel = True '如果是,取消操作
        MessageBox.Show("修改的日期不能超出已保存单号所属月份","提示")
end if
end if

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 14:23:00 [显示全部帖子]

DataTable不存在顺序这种东西,2个DataTable的顺序几乎不可能是一致的。其中一个改为使用Find查询定位

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 15:22:00 [显示全部帖子]

其中一个改为使用Find查询定位

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 16:17:00 [显示全部帖子]

"月租收费_Table1"和"缴费情况"的行通过什么数据唯一关联的?Find要使用这个关联列查询

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 16:42:00 [显示全部帖子]

每一行的单号都不一样才叫唯一。

ERP软件人家开发人员背后做了多少工作,才能实现用户使用的功能,而不是您表面轻松使用后,以为简单的123都能开发出来的功能。

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


加好友 发短信
等级:超级版主 帖子:106320 积分:540735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 17:32:00 [显示全部帖子]

俺没有说谁的水平有问题,只是说不是表面看到的简单的123步就能做出的功能。就算是把一个软件给我操作,也没有办法短时间就能完全模仿别人的功能开发出一套功能一样的软件。如果这么容易,用友金蝶都不用活,满大街都是程序员了。

所以不要把别人软件怎么怎么用拿来做比较,几乎没有意义。

但是说您基础不扎实,这个我可以说,之前做的什么棋赛功能,很多错误的语法本来已经纠正,重新做个软件,基本又忘了,写代码天马行空,想怎么写就怎么写,无视逻辑、语法规则。

其实这种功能,直接在窗口表做个条件加载,然后直接编辑保存即可,完全没有必要2个表格复制来复制去的。

 回到顶部
总数 59 上一页 1 2 3 4 5 6