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


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

主题:录入凭证设计

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


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/1/10 14:18: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
    Dim y As Integer = d.Year
    Dim m As Integer = d.Month
ElseIf DataTables("缴费情况").Compute("Count([单号])","[前缀] = 'yz'") = 0 Then
    di = "yz-" & y & Format(m,"00") & "-0001" '编号前缀,2位前缀,4位年,2位月
Else
    Dim dt As DataTable
    Dim cmd As New SQLCommand
    'cmd.C
    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 17:50:37编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

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


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

 回到顶部
帅哥,在线噢!
有点蓝
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

else后面这段代码明显是抄帮助的,但是却没有看帮助说明,这个是在服务器端的用法,却自以为是的用到客户端中。

改为12楼类似事件的用法获取最大单号+1即可

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


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

 回到顶部
帅哥,在线噢!
有点蓝
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

去掉红色的判断语句

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


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

 回到顶部
帅哥,在线噢!
有点蓝
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

flt = "[前缀] = 'yz' And [日期] >= #" & fd & "# And [日期] <= #" & ld & "#"

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


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

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

密码:888888

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


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


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

日期报错吧?怎么处理?

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