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


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

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

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


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

认真把帮助看完

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(20170318).rar

密码:888888
还有,双击缴费表弹出的月租收费单,删除止计日期,修改缴费月数,重算出缴费金额后,点菜单栏上的数据录入-保存,缴费表中的数据并无被修改,我希望按保存后修改缴费表数据,菜单上的保存代码是:
Select Case e.StripItem.Name
    Case "保存" '保存代
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
            Return
        Else
            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 & "'")
                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
                ElseIf r IsNot Nothing Then
                    r("日期") = e.Form.Controls("rq").text
                    r("分类") = DataTables("分类").DataRows(0)("分类")
                    r("车牌号码") = dt("车牌号码")
                    r("备注") = dt("备注")
                    r("缴费_月租_起计日期") = dt("缴费_月租_起计日期")
                    r("缴费_月租_止计日期") = dt("缴费_月租_止计日期")
                    r("缴费_月租_缴费月数") = dt("缴费_月租_缴费月数")
                    r("缴费_月租_月租单价") = dt("缴费_月租_月租单价")
                    r("操作人姓名") = User.Name & " " & Date.Now
                End If
            Next
        End If
        DataTables("缴费情况").Save()
End Select

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


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

SQLFind查询的结果是一个独立的行,和原表没有什么关系,需要单独保存

                    r("操作人姓名") = User.Name & " " & Date.Now
                End If
r.save
            Next
        End If
        DataTables("缴费情况").Save()
End Select

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


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

在全局事件中这样写依然不能自动行高!
For Each dt As DataTable In DataTables
    dt.GlobalHandler.AfterEdit = True
Next

With Tables("月租收费_Table1")
    If e.Col.Name = "备注" Then
        .AutoSizeRow(e.Row.Index)
    End If
End With
With Tables("临量收费录入_Table1")
    If e.Col.Name = "备注" Then
        .AutoSizeRow(e.Row.Index)
    End If
End With
With Tables("其他收费录入_Table1")
    If e.Col.Name = "备注" Then
        .AutoSizeRow(e.Row.Index)
    End If
End With
With Tables("记账凭证_Table1")
    If e.Col.Name = "摘要" Or e.Col.Name = "会计科目" Or e.Col.Name = "明细科目" Then
        .AutoSizeRow(e.Row.Index)
    End If
End With

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


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

dt.GlobalHandler.AfterEdit = True放到窗口表设置datasouce之后

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


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

对啊双击表行弹出的窗口里的数据是查询生成的数据,这才是生成数据的代码:
'双击缴费情况表任意行,自动弹出当前单据:
If e.Row.IsNull("车牌号码") = False AndAlso e.Row.IsNull("缴费_临时停放_缴费金额") = False Then
    Forms("临时收费录入").Open()
    DataTables("临时收费录入_Table1").DataRows.Clear
    Forms("临时收费录入").Controls("rq").text = e.Row("日期")
    Forms("临时收费录入").Controls("dh").text = e.Row("单号")
    Forms("临时收费录入").Controls("lry").text = e.Row("录入员")
    Forms("临时收费录入").Controls("shr").text = e.Row("审核人")
    Dim dts As List(of DataRow) = DataTables("缴费情况").SQLSelect("[单号] = '" & Forms("临时收费录入").Controls("dh").text & "'")
    For i As Integer = 0 To dts.count - 1
        Dim r As DataRow = DataTables("临时收费录入_Table1").AddNew()
        r("车牌号码") = dts(i)("车牌号码")
        r("备注") = dts(i)("备注")
        r("缴费_临时停放_起计时间") = dts(i)("缴费_临时停放_起计时间")
        r("缴费_临时停放_止计时间") = dts(i)("缴费_临时停放_止计时间")
    Next
    If dts.count < 10 Then
        Dim r As DataRow = DataTables("临时收费录入_Table1").AddNew(10 - (dts.count))
    End If
ElseIf e.Row.IsNull("车牌号码") = False AndAlso e.Row.IsNull("缴费_月租_缴费金额") = False Then
    Forms("月租收费").Open()
    DataTables("月租收费_Table1").DataRows.Clear
    Forms("月租收费").Controls("rq").text = e.Row("日期")
    Forms("月租收费").Controls("dh").text = e.Row("单号")
    Forms("月租收费").Controls("lry").text = e.Row("录入员")
    Forms("月租收费").Controls("shr").text = e.Row("审核人")
    Dim dts As List(of DataRow) = DataTables("缴费情况").SQLSelect("[单号] = '" & Forms("月租收费").Controls("dh").text & "'")
    For i As Integer = 0 To dts.count - 1
        Dim r As DataRow = DataTables("月租收费_Table1").AddNew()
        r("车牌号码") = dts(i)("车牌号码")
        r("备注") = dts(i)("备注")
        r("住址_巷") = dts(i)("住址_巷")
        r("住址_号") = dts(i)("住址_号")
        r("住址_房") = dts(i)("住址_房")
        r("姓名") = dts(i)("姓名")
        r("固定电话") = dts(i)("固定电话")
        r("手机号码") = dts(i)("手机号码")
        r("缴费_月租_起计日期") = dts(i)("缴费_月租_起计日期")
        r("缴费_月租_止计日期") = dts(i)("缴费_月租_止计日期")
        r("缴费_月租_月租单价") = dts(i)("缴费_月租_月租单价")
    Next
    If dts.count < 10 Then
        Dim r As DataRow = DataTables("月租收费_Table1").AddNew(10 - (dts.count))
    End If
End If
我修改了里面的数据如何重新保存?

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


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


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


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

以下是引用有点蓝在2021/3/18 14:24:00的发言:
dt.GlobalHandler.AfterEdit = True放到窗口表设置datasouce之后
把Tables("记账凭证_Table1").GlobalHandler.AfterEdit = True放到窗口表设置里报错。


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


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

Tables("记账凭证_Table1").datatable.GlobalHandler.AfterEdit = True

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


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

还是没法保存
Select Case e.StripItem.Name
    Case "保存" '保存代码
        Dim drs As List(of DataRow) = DataTables("缴费情况").SQLSelect("[单号] = '" & Forms("月租收费").Controls("dh").text & "'")
        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)
        Else
            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 & "'")
                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()
    Case "取消" '取消代码
        e.Form.Close()
    Case "删除已保存单据" '删除代码
        e.Form.Close()
        Dim Result As DialogResult
        Result = MessageBox.Show("是否确定要删除此单?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            DataTables("缴费情况").DeleteFor("[单号] =" & "'" & e.Form.Controls("dh").text & "'")
        Else
            Return
        End If
End Select

 回到顶部
总数 155 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..16