Foxtable(狐表)用户栏目专家坐堂 → 录入凭证设计


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

主题:录入凭证设计

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


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

窗口刚打开的事件日期控件是没有值的,赋值后在执行其它代码,或者把对应的代码放到控件valuechange事件里

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


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

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

密码:888888
改为这样,不报错,但窗口单号控件里没单号显示。
'以这代码为准:
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")'dh是单号控件
Dim di As String = yzdh.Value 'di单号控件中的变量
Dim d As Date  = Date.Today
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 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,4)) + 1 '获得最大单据编号的后四位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
di = bh & Format(idx,"0000")
[此贴子已经被作者于2021/1/11 13:47:28编辑过]

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


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

不在valuechange事件中执行,还是要求打开窗口自动生成单号,现把单号日期默认为当前日期。

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


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

我已把电脑上的日期设置设为:

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


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


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

di = bh & Format(idx,"0000")
yzdh.Value = di

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


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

执行保存时弹出错误提示:

图片点击可在新窗口打开查看此主题相关图片如下:004.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理.foxdb

密码:888888
'一.数据录入:
Select Case e.StripItem.Name
    Case "保存" '保存代码
        Dim r As DataRow = DataTables("缴费情况").addnew
        Dim dt As WinForm.Table = e.Form.Controls("Table1")
        Dim tbl As Table = dt.Table
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
            Return
        ElseIf e.Form.Controls("dh").text = "" Then
            Return '如果是,取消操作.
        Else
            r("日期") = e.Form.Controls("rq").text
            r("单号") = e.Form.Controls("dh").text
            r("住址_巷") = tbl.Rows("住址_巷")
            r("住址_号") = tbl.Rows("住址_号")
            r("住址_房") = tbl.Rows("住址_房")
            r("固定电话") = tbl.Rows("固定电话")
            r("手机号码") = tbl.Rows("手机号码")
            r("车牌号码") = tbl.Rows("车牌号码")
            r("备注") = tbl.Rows("备注")
            r("前缀") = "yz"
            r("缴费_月租_起计日期") = tbl.Rows("缴费_月租_起计日期")
            r("缴费_月租_止计日期") = tbl.Rows("缴费_月租_止计日期")
            r("缴费_月租_月租单价") = tbl.Rows("缴费_月租_月租单价")
            r("录入员") = e.Form.Controls("lry").text
        End If
        DataTables("缴费情况").Save()
    Case "取消" '取消代码
        e.Form.Close()
    Case "删除" '删除代码
        e.Form.Close()
        DataTables("缴费情况").DeleteFor("[单号] =" & "'" &e.Form.Controls("dh") & "'")
End Select

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


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


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


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

报错

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

图片点击可在新窗口打开查看此主题相关图片如下:008.png
图片点击可在新窗口打开查看
'一.数据录入:
Select Case e.StripItem.Name
    Case "保存" '保存代码
        For Each dt As Row In Tables("月租收费_Table1").Rows
            Dim r As DataRow = DataTables("缴费情况").addnew
            If e.Form.Controls("rq").text = "" Then
                messagebox.show("请选择日期")
                Return
            ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
                Return
            ElseIf e.Form.Controls("dh").text = "" Then
                Return '如果是,取消操作.
            Else
                For i As Integer = 0 To Tables("月租收费_Table1").Compute("Count([车牌号码])") - 1
                    r("日期") = e.Form.Controls("rq").text
                    r("单号") = e.Form.Controls("dh").text
                    r("住址_巷") = dt("住址_巷")(i)
                    r("住址_号") = dt("住址_号")(i)
                    r("住址_房") = dt("住址_房")(i)
                    r("固定电话") = dt("固定电话")(i)
                    r("手机号码") = dt("手机号码")(i)
                    r("车牌号码") = dt("车牌号码")(i)
                    r("备注") = dt("备注")
                    r("前缀") = "yz"
                    r("缴费_月租_起计日期") = dt("缴费_月租_起计日期")(i)
                    r("缴费_月租_止计日期") = dt("缴费_月租_止计日期")(i)
                    r("缴费_月租_月租单价") = dt("缴费_月租_月租单价")(i)
                    r("录入员") = e.Form.Controls("lry").text
                Next
            End If
        Next
        DataTables("缴费情况").Save()
    Case "取消" '取消代码
        e.Form.Close()
    Case "删除" '删除代码
        e.Form.Close()
        DataTables("缴费情况").DeleteFor("[单号] =" & "'" & e.Form.Controls("dh") & "'")
End Select

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


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

Select Case e.StripItem.Name
    Case "保存" '保存代码
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
            Return
        ElseIf e.Form.Controls("dh").text = "" Then
            Return '如果是,取消操作.
        Else
            For Each dt As Row In Tables("月租收费_Table1").Rows
                Dim r As DataRow = DataTables("缴费情况").addnew
                r("日期") = e.Form.Controls("rq").text
                r("单号") = e.Form.Controls("dh").text
                r("住址_巷") = dt("住址_巷")
                r("住址_号") = dt("住址_号")
……
            Next
        End If
        DataTables("缴费情况").Save()
    Case "取消" '取消代码

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


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

去除红色标注的代码,会把窗口中的空行都添加到缴费情况表,并不断弹出重复提示(有多少行空行就弹多少个窗口),我在缴费情况表加了不允许重复提示,在关窗口代码处亦写入了DataTables("缴费情况").DeleteFor("[车牌号码] is null "),但很扰人,我要求空行不添加到缴费情况表,只添加有数据的行,但写成这样依然报错:另不明白单号日期安行正常添加了,单号去只添加一行,问题出在哪?
'一.数据录入:
Select Case e.StripItem.Name
    Case "保存" '保存代码
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then
            Return
        ElseIf e.Form.Controls("dh").text = "" Then
            Return '如果是,取消操作.
        Else
            For Each dt As Row In Tables("月租收费_Table1").Rows
                Dim r As DataRow = DataTables("缴费情况").addnew
                For i As Integer = 0 To Tables("月租收费_Table1").Compute("Count([车牌号码])") - 1
                    r("日期") = e.Form.Controls("rq").text
                    r("单号") = e.Form.Controls("dh").text
                    r("住址_巷") = dt(i)("住址_巷")
                    r("住址_号") = dt(i)("住址_号")
                    r("住址_房") = dt(i)("住址_房")
                    r("固定电话") = dt(i)("固定电话")
                    r("手机号码") = dt(i)("手机号码")
                    r("车牌号码") = dt(i)("车牌号码")
                    r("备注") = dt(i)("备注")
                    r("前缀") = "yz"
                    r("缴费_月租_起计日期") = dt(i)("缴费_月租_起计日期")
                    r("缴费_月租_止计日期") = dt(i)("缴费_月租_止计日期")
                    r("缴费_月租_月租单价") = dt(i)("缴费_月租_月租单价")
                    r("录入员") = e.Form.Controls("lry").text
                Next
            Next
        End If
        DataTables("缴费情况").Save()
    Case "取消" '取消代码
        e.Form.Close()
    Case "删除" '删除代码
        e.Form.Close()
        DataTables("缴费情况").DeleteFor("[单号] =" & "'" & e.Form.Controls("dh") & "'")
End Select
[此贴子已经被作者于2021/1/11 22:16:59编辑过]

 回到顶部
总数 81 上一页 1 2 3 4 5 6 7 8 9 下一页