Foxtable(狐表)用户栏目专家坐堂 → 窗口中添加上一单按钮


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

主题:窗口中添加上一单按钮

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


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

.NET Framework 版本:4.0.30319.17929
Foxtable 版本:2021.5.29.1
错误所在事件:窗口,收款凭证,Button1,Click
详细错误信息:
The expression contains undefined function call year().

还是报错

DataTables("收款凭证_Table1").deletefor( "[凭证号] Is Null")
DataTables("收款凭证_Table1").loadfilter = "1=2"
DataTables("收款凭证_Table1").load
With Tables("收款凭证_Table1")
    Dim drs As List(Of DataRow) = DataTables("财务数据源").Select("year([日期]) = " & e.Form.Controls("rq").Value.year & " And Month([日期]) = " & e.Form.Controls("rq").Value.Month & " And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & e.Form.Controls("dh").text - 1 & "'")
    For Each dr As DataRow In drs
        If dr IsNot Nothing Then
            If dr("借或贷") = "借" Then
                Forms("收款凭证").Controls("ComboBox3").text = dr("会计科目")
                Forms("收款凭证").Controls("rq").text = dr("日期")
                Forms("收款凭证").Controls("dh").text = dr("凭证号")
                Forms("收款凭证").Controls("dh1").text = dr("安日期生成单号辅助列")
                Forms("收款凭证").Controls("TextBox2").text = dr("字号")
                Forms("收款凭证").Controls("RadioButton1").Checked = dr("已审核")
                Forms("收款凭证").Controls("shr").text = dr("审核人")
                Forms("收款凭证").Controls("TextBox1").text = dr("附件张数")
            ElseIf dr("借或贷") = "贷" Then
                Dim Filter As String = "安日期生成单号辅助列 = '" & dr("安日期生成单号辅助列") & "' And [字号] ='" & dr("字号") & "' And [凭证号] = '" & dr("凭证号") & "' And [借或贷] = '贷'"
                DataTables("收款凭证_Table1").LoadFilter = Filter '设置加载条件
                DataTables("收款凭证_Table1").Load() '加载数据
                If dr.IsNull("外币金额") And dr.IsNull("数量") Then
                    Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                    Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                    .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|250|金额|100")
                ElseIf dr.IsNull("外币金额") And dr.IsNull("数量") = False Then
                    Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                    Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                    .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|180|数量|60|单价|50|金额|60")
                ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") Then
                    Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                    Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                    .SetColVisibleWidth("摘要|250|贷方总账科目|100|明细科目|160|币种|60|汇率|60|外币金额|60|金额|60")
                    .Cols("外币金额").GrandTotal = True
                ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") = False Then
                    Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                    Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                    .SetColVisibleWidth("摘要|130|贷方总账科目|100|明细科目|110|数量|60|单价|60|币种|60|汇率|50|外币金额|60|外币金额|60|金额|60")
                    .Cols("外币金额").GrandTotal = True
                End If
            End If
        End If
    Next
End With

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


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

Select不能使用year这种用法,sqlSelect才可以。


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


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

我已经把凭证号转为数值了,可控件上的凭证号完全没变,DataTables("收款凭证_Table1")也没加载任何数据
DataTables("收款凭证_Table1").deletefor( "[凭证号] Is Null")
DataTables("收款凭证_Table1").loadfilter = "1=2"
DataTables("收款凭证_Table1").load
With Tables("收款凭证_Table1")
    If CInt(e.Form.Controls("dh").text) > 2 Then
        Dim y As Integer = e.Form.Controls("rq").Value.year
        Dim m As Integer = e.Form.Controls("rq").Value.Month '指定月份
        Dim dt1 As New Date(y, m, 1)
        Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
        Dim drs As List(Of DataRow) = DataTables("财务数据源").Select("[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & CInt(e.Form.Controls("dh").text) - 1 & "'")
        For Each dr As DataRow In drs
            If dr IsNot Nothing Then
                If dr("借或贷") = "借" Then
                    Forms("收款凭证").Controls("ComboBox3").text = dr("会计科目")
                    Forms("收款凭证").Controls("rq").text = dr("日期")
                    Forms("收款凭证").Controls("dh").text = dr("凭证号")
                    Forms("收款凭证").Controls("dh1").text = dr("安日期生成单号辅助列")
                    Forms("收款凭证").Controls("TextBox2").text = dr("字号")
                    Forms("收款凭证").Controls("RadioButton1").Checked = dr("已审核")
                    Forms("收款凭证").Controls("shr").text = dr("审核人")
                    Forms("收款凭证").Controls("TextBox1").text = dr("附件张数")
                ElseIf dr("借或贷") = "贷" Then
                    Dim Filter As String = "安日期生成单号辅助列 = '" & dr("安日期生成单号辅助列") & "' And [字号] ='" & dr("字号") & "' And [凭证号] = '" & dr("凭证号") & "' And [借或贷] = '贷'"
                    DataTables("收款凭证_Table1").LoadFilter = Filter '设置加载条件
                    DataTables("收款凭证_Table1").Load() '加载数据
                    If dr.IsNull("外币金额") And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|250|金额|100")
                    ElseIf dr.IsNull("外币金额") And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|180|数量|60|单价|50|金额|60")
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|250|贷方总账科目|100|明细科目|160|币种|60|汇率|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|130|贷方总账科目|100|明细科目|110|数量|60|单价|60|币种|60|汇率|50|外币金额|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    End If
                End If
            End If
        Next
    End If
End With

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


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

DataTables("收款凭证_Table1").loadfilter = "1=2"1永远不可能等于2,条件为假,所以不可能加载任何数据

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


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

不能用
With CurrentTable 
    .Position = .Position + 
1
End
 
With
这种方法,因为会计凭证常一借多贷,下一份凭证不等于财务数据源表的下一行数据,所以帮助里的方法用到凭证的上一单、下一单行不通,必须重写代码。

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


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

改为这样不报错,但凭证号没变,加载的还是原来的数据,连红色标注的弹窗都没有。
DataTables("收款凭证_Table1").deletefor( "[凭证号] Is Null")
DataTables("收款凭证_Table1").load
With Tables("收款凭证_Table1")
    If CInt(e.Form.Controls("dh").text) > 2 Then
        Dim y As Integer = e.Form.Controls("rq").Value.year
        Dim m As Integer = e.Form.Controls("rq").Value.Month '指定月份
        Dim dt1 As New Date(y, m, 1)
        Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
        Dim drs As List(Of DataRow) = DataTables("财务数据源").Select("[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & CInt(e.Form.Controls("dh").text) - 1 & "'")
        MessageBox.show(CInt(e.Form.Controls("dh").text) - 1)
        For Each dr As DataRow In drs
            If dr IsNot Nothing Then
                If dr("借或贷") = "借" Then
                    systemready = False
                    Forms("收款凭证").Controls("ComboBox3").text = dr("会计科目")
                    Forms("收款凭证").Controls("rq").text = dr("日期")
                    Forms("收款凭证").Controls("dh").text = dr("凭证号")
                    Forms("收款凭证").Controls("dh1").text = dr("安日期生成单号辅助列")
                    Forms("收款凭证").Controls("TextBox2").text = dr("字号")
                    Forms("收款凭证").Controls("RadioButton1").Checked = dr("已审核")
                    Forms("收款凭证").Controls("shr").text = dr("审核人")
                    Forms("收款凭证").Controls("TextBox1").text = dr("附件张数")
                    systemready = True
                ElseIf dr("借或贷") = "贷" Then
                    Dim Filter As String = "安日期生成单号辅助列 = '" & dr("安日期生成单号辅助列") & "' And [字号] ='" & dr("字号") & "' And [凭证号] = '" & dr("凭证号") & "' And [借或贷] = '贷'"
                    DataTables("收款凭证_Table1").LoadFilter = Filter '设置加载条件
                    DataTables("收款凭证_Table1").Load() '加载数据
                    If dr.IsNull("外币金额") And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|250|金额|100")
                    ElseIf dr.IsNull("外币金额") And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|180|数量|60|单价|50|金额|60")
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|250|贷方总账科目|100|明细科目|160|币种|60|汇率|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|130|贷方总账科目|100|明细科目|110|数量|60|单价|60|币种|60|汇率|50|外币金额|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    End If
                End If
            End If
        Next
    End If
    If .Rows.Count < 10 Then
        .AddNew(10 - .Rows.Count)
    End If
End With
[此贴子已经被作者于2021/6/10 16:39:29编辑过]

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


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

With Tables("收款凭证_Table1")
msgbox(CInt(e.Form.Controls("dh").text) > 2)
    If CInt(e.Form.Controls("dh").text) > 2 Then

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


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

DataTables("收款凭证_Table1").deletefor( "[凭证号] Is Null")
DataTables("收款凭证_Table1").load
With Tables("收款凭证_Table1")
    If CInt(e.Form.Controls("dh").text) > 1 Then
        Dim y As Integer = e.Form.Controls("rq").Value.year
        Dim m As Integer = e.Form.Controls("rq").Value.Month '指定月份
        Dim dt1 As New Date(y, m, 1)
        Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m)) '获取该月的最后一天
        Dim drs As List(Of DataRow) = DataTables("财务数据源").Select("[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & CInt(e.Form.Controls("dh").text) - 1 & "'")
        MessageBox.show(CInt(e.Form.Controls("dh").text) - 1)
        For Each dr As DataRow In drs
            If dr IsNot Nothing Then
                If dr("借或贷") = "借" Then
                    systemready = False
                    Forms("收款凭证").Controls("ComboBox3").text = dr("会计科目")
                    Forms("收款凭证").Controls("rq").text = dr("日期")
                    Forms("收款凭证").Controls("dh").text = dr("凭证号")
                    Forms("收款凭证").Controls("dh1").text = dr("安日期生成单号辅助列")
                    Forms("收款凭证").Controls("TextBox2").text = dr("字号")
                    Forms("收款凭证").Controls("RadioButton1").Checked = dr("已审核")
                         Forms("收款凭证").Controls("lry").text = dr("录入员")
                    Forms("收款凭证").Controls("shr").text = dr("审核人")
                    Forms("收款凭证").Controls("TextBox1").text = dr("附件张数")
                    systemready = True
                ElseIf dr("借或贷") = "贷" Then
                    Dim Filter As String = "安日期生成单号辅助列 = '" & dr("安日期生成单号辅助列") & "' And [字号] ='" & dr("字号") & "' And [凭证号] = '" & dr("凭证号") & "' And [借或贷] = '贷'"
                    DataTables("收款凭证_Table1").LoadFilter = Filter '设置加载条件
                    DataTables("收款凭证_Table1").Load() '加载数据
                    If dr.IsNull("外币金额") And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|250|金额|100")
                    ElseIf dr.IsNull("外币金额") And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|180|数量|60|单价|50|金额|60")
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
                        .SetColVisibleWidth("摘要|250|贷方总账科目|100|明细科目|160|币种|60|汇率|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") = False Then
                        Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
                        Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
                        .SetColVisibleWidth("摘要|130|贷方总账科目|100|明细科目|110|数量|60|单价|60|币种|60|汇率|50|外币金额|60|外币金额|60|金额|60")
                        .Cols("外币金额").GrandTotal = True
                    End If
                End If
            End If
        Next
    End If
    If .Rows.Count < 10 Then
        .AddNew(10 - .Rows.Count)
    End If
End With
[此贴子已经被作者于2021/6/10 22:59:56编辑过]

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


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

这样写弹出1了,但控件上的凭证号还是2,加载的依然是凭证2的数据。
[此贴子已经被作者于2021/6/10 17:51:17编辑过]

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


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

msgbox("[日期] >= #" & dt1 & "# And [日期] <= #" & dt2 & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & CInt(e.Form.Controls("dh").text) - 1 & "'")

 回到顶部
总数 20 上一页 1 2