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


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

主题:录入凭证设计

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/10 20:43:00 [显示全部帖子]

红色标注又报错了,在最大单号基础上+1怎么执行?
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")'dh是单号控件
Dim di As String = yzdh.Value 'di单号控件中的变量
Dim bsrq As WinForm.DateTimePicker = Forms("月租收费").Controls("rq")
Dim d As Date = bsrq.Value
If d = "" Then
    messagebox.show("请选择日期")
    Return
ElseIf DataTables("缴费情况").Compute("Count([单号])","[前缀] = 'yz'") = 0 Then
    Dim y As Integer = d.Year
    Dim m As Integer = d.Month
    di = "yz-" & y & Format(m,"00") & "-0001" '编号前缀,2位前缀,4位年,2位月
Else
    Dim dt As DataTable
    Dim cmd As New SQLCommand
    cmd.CommandText = "Select 前缀,Year(日期) As 年, Month(日期) As 月, Max(单号) as 单号 Fr om {缴费情况} Group By 前缀,Year(日期), Month(日期)"
    dt = cmd.ExecuteReader
    flbhs.Clear()
    For Each dr As DataRow In dt.DataRows
        Dim qz As String = dr("前缀") & "-"  & dr("年") & Format(dr("月"),"00") '编号前缀,2位前缀,4位年,2位月
        Dim bh As String =  dr("单号")
        Dim id As Integer
        If bh.Length = 14 Then
            bh = bh.SubString(10)
            If Integer.TryParse(bh,id) Then
                flbhs.add(qz, id+1)
            End If
        End If
    Next
    di = flbhs.add(qz, id+1)
End If

[此贴子已经被作者于2021/1/10 20:48:06编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/10 22:03:00 [显示全部帖子]

红色标注的代码报错:
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")'dh是单号控件
Dim di As String = yzdh.Value 'di单号控件中的变量
Dim bsrq As WinForm.DateTimePicker = Forms("月租收费").Controls("rq")
Dim d As Date = bsrq.Value
If d = "" Then
    messagebox.show("请选择日期")
    Return
Else
    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 = DataTables("缴费情况").DataRow("前缀") & "-" & Format(d,"yyyyMM") & "-" '生成编号的前缀
    Dim bh As String = "yz" & "-" & Format(d,"yyyyMM") & "-" '生成编号的前缀
    If DataTables("缴费情况").DataRow("单号").StartsWith(bh) = False '如果单据编号前缀不符
        Dim max As String
        Dim idx As Integer
        Dim flt As String
        flt = "[前缀] = 'yz'" & " And [日期] >= #" & fd & "# And [日期] <= #" & ld & "# And [_Identify] <> " & DataTables("缴费情况").DataRow("_Identify")
        'flt = "[前缀] = '" & DataTables("缴费情况").DataRow("前缀") & "' And [日期] >= #" & fd & "# And [日期] <= #" & ld & "# And [_Identify] <> " & DataTables("缴费情况").DataRow("_Identify")
        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")
    End If
End If
[此贴子已经被作者于2021/1/11 19:15:51编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/10 23:11:00 [显示全部帖子]

红色标注报错:
Dim yzdh As WinForm.TextBox = e.Form.Controls("dh")'dh是单号控件
Dim di As String = yzdh.Value 'di单号控件中的变量
Dim bsrq As WinForm.DateTimePicker = Forms("月租收费").Controls("rq")
Dim d As Date = bsrq.Value
If d = "" Then
    messagebox.show("请选择日期")
    Return
Else
    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 = DataTables("缴费情况").DataRow("前缀") & "-" & Format(d,"yyyyMM") & "-" '生成编号的前缀
    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 & "# And [_Identify] <> " & DataTable("缴费情况").DataRow("_Identify")
    'flt = "[前缀] = '" & DataTables("缴费情况").DataRow("前缀") & "' And [日期] >= #" & fd & "# And [日期] <= #" & ld & "# And [_Identify] <> " & DataTables("缴费情况").DataRow("_Identify")
    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")
End If

[此贴子已经被作者于2021/1/11 11:02:29编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/11 11:16:00 [显示全部帖子]

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

密码:888888

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


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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/11 11:17:00 [显示全部帖子]

日期报错吧?怎么处理?

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望: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编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/11 13:43:00 [显示全部帖子]

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

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/11 13:47:00 [显示全部帖子]

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

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


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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望: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

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10368 威望: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

 回到顶部
总数 48 上一页 1 2 3 4 5 下一页