Foxtable(狐表)用户栏目专家坐堂 → 双击行弹出窗口报错


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

主题:双击行弹出窗口报错

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


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
双击行弹出窗口报错  发帖心情 Post By:2022/3/18 14:04:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb
我把表导出上传不是在我原项目的报错,原项目报错在从双击行中打开窗口,点菜单上的单据录入按钮就弹出
.NET Framework 版本:4.0.30319.18063
Foxtable 版本:2022.1.30.2
错误所在事件:
详细错误信息:
标准表达式中数据类型不匹配。

但在正常的配置栏菜单打开单据窗口,点窗口上的菜单栏单据录入按钮,没报错,一切正常,我在表的双击代码检查来检查去看不出那出问题,把数据导出新建项目,双击行后弹出的报错跟原项目不一样,连最后添加的不够10行补足10行代码都没执行了,这是什么问题?

[此贴子已经被作者于2022/3/18 14:57:55编辑过]

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


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

这是导出后新建的报错

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220318133839.png
图片点击可在新窗口打开查看
上传的图片,在这论坛怎也不显示了,重新上传却说我不能超过3个附件,确认后却只显示1个附件,这论坛、软件也太折人了!
这是原项目上的报错。

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


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


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

窗口的引用方法有问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (4).zip


窗口打开后的处理建议放到窗口afterload事件,没有必要放到双击里。再说窗口afterload事件已有差不多一样的代码,又何必执行2次,是嫌运行的太快,多执行一次代码,让窗口打开的慢一点,让用户以为这个窗口好努力么!

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


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

不够10行补足10行显示你解决了,但我的原项目中是没这问题的,只是导出重新时出现,现在点菜单栏上的单据录入按钮弹出的报错还是没解决,这才是我要问的问题,出纳数据记账源表里不仅有收款数据还有付款数据,微信、支付宝、其他货币资金类收费不属收、付凭证的,因此双击代码要区别对待。

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220318133903.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/3/18 16:43:55编辑过]

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


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

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错

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


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

我已经查了半天不知错在哪才问你,问你你又把问题踢回来,这报错只在双击弹窗上的菜单上报错,在窗口管理里点击菜单按钮是不报错的,我发贴问你后自己检过一次把菜单里的代码改为
'一.数据录入:
Select Case e.StripItem.Name
    Case "新增凭证" '保存代
        systemready = False
        e.Form.Controls("ComboBox2").Value = Nothing
        e.Form.Controls("dh").Value = Nothing
        e.Form.Controls("dh1").Value = Nothing
        e.Form.Controls("rq").Value = Nothing
        e.Form.Controls("shr").Value = Nothing
        e.Form.Controls("TextBox1").Value = Nothing
        e.Form.Controls("TextBox2").Value = Nothing
        systemready = True
        DataTables("出纳录入收款数据_Table1").deletefor( "[出纳账安日期生成单号辅助列] Is Null")
        DataTables("出纳录入收款数据_Table1").loadfilter = "1=2"
        DataTables("出纳录入收款数据_Table1").load
        Tables("出纳录入收款数据_Table1").AddNew(10)
        e.Form.Controls("lblState").text = "1"
    Case "保存" '保存代
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("出纳录入收款数据_Table1").Compute("Count([借方_金额])") = 0 Then
            Return
        Else
            e.Form.Controls("lblState").text = "2"
            Tables("出纳录入收款数据_Table1").FinishEditing '如果单元格处于编辑状态,需要结束编辑,让编辑内容写入单元格
            For Each dt As DataRow In Tables("出纳录入收款数据_Table1").DataTable.Select("[借方_金额] Is not null")
                dt("日期") = e.Form.Controls("rq").text
                dt("出纳入账顺序号") = e.Form.Controls("dh").text
                dt("出纳账安日期生成单号辅助列") = e.Form.Controls("dh1").text
                dt("附件张数") = e.Form.Controls("TextBox1").text
                dt("录入员") = e.Form.Controls("lry").text
                If e.Form.Controls("shr").text = Nothing Then
                    dt("审核人") = Nothing
                Else
                    dt("审核人") = e.Form.Controls("shr").text
                End If
                dt("前缀") = (e.Form.Controls("TextBox2").text).SubString(0,2)
                dt("操作人姓名") = User.Name & " " & Date.Now
                If e.Form.Controls("ComboBox1").text = e.form.controls("combobox1").items(1) Then
                    dt("外币贷方金额") =  dt("外币金额")
                End If
                Dim Parts0() As String = (e.Form.Controls("ComboBox2").Value).Split("-")
                If Parts0.length = 1 Then
                    dt("会计科目") = Parts0(0)
                    dt("明细科目") = Nothing
                ElseIf Parts0.length = 2 Then
                    dt("会计科目") = Parts0(0)
                    dt("明细科目") = Parts0(1)
                End If
            dt.Save
        Next
    End If
    DataTables("出纳数据记账源").load
    DataTables("出纳数据记账源").LoadOrder = "日期 DESC,出纳入账顺序号"
    DataTables("出纳数据记账源").DataCols("日期").RaiseDataColChanged()
    For i As Integer = DataTables("出纳数据记账源").DataRows.count - 1 To 0 Step -1
        Dim tr As DataRow = DataTables("出纳数据记账源").DataRows(i)
        If tr.Isnull("日期") Then
            tr.delete
        End If
    Next
Case "取消" '取消代码
    e.Form.Close()
Case "删除已保存单据" '删除代码
    Dim Result As DialogResult
    Result = MessageBox.Show("是否确定要删除此单?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        DataTables("出纳数据记账源").SQLDeleteFor("[前缀] ='" & (e.Form.Controls("TextBox2").Text).SubString(0,2) & "' And Month([日期]) = " & Month(e.Form.Controls("rq").Value) & " And [出纳账安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "' And ([已审核] = false or [已审核] is null)")
    Else
        Return
    End If
    e.Form.Close()
    DataTables("出纳数据记账源").Save
    DataTables("出纳数据记账源").load
End Select

但问题依然没解决
[此贴子已经被作者于2022/3/18 17:13:06编辑过]

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


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

'二.增减行:
Select Case e.StripItem.Name
    Case "增加行" '保存代码
        Tables("出纳录入收款数据_Table1").AddNew()
    Case "删除行" '保存代码
        With Tables("出纳录入收款数据_Table1")
            If .current IsNot Nothing Then
                Dim Result As DialogResult
                Result = MessageBox.Show("是否确定要删除此单?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                If Result = DialogResult.Yes Then
                    .Current.Delete()
                Else
                    Return
                End If
            End If
            .Save()
        End With
End Select
'
'三.审核
Select Case e.StripItem.Name
    Case "审核" '保存代码
        For Each dt As DataRow In DataTables("出纳录入收款数据_Table1").Select("[日期] is not null")
            Dim r As DataRow = DataTables("出纳数据记账源").SQLFind("[前缀] = '" & (e.Form.Controls("TextBox2").Text).SubString(0,2) & "' And Month([日期]) = " & Month(e.Form.Controls("rq").Value) & " And [出纳账安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "'")
            If User.IsRole("审核") Then
                e.Form.Controls("shr").text = User.Name
                e.Form.Controls("RadioButton1").text = True
                r("审核人") = e.Form.Controls("shr").text
                r("已审核") = True
                r.locked = True
            Else
                MessageBox.show("你无审批权限!")
            End If
        Next
        DataTables("出纳数据记账源").Save()
    Case "反审核" '保存代码
        For Each dt As DataRow In DataTables("出纳录入收款数据_Table1").Select("[日期] is not null")
            Dim r As DataRow = DataTables("出纳数据记账源").SQLFind("[前缀] = '" & (e.Form.Controls("TextBox2").Text).SubString(0,2) & "' And Month([日期]) = " & Month(e.Form.Controls("rq").Value) & "# And [出纳账安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "'")
            If User.IsRole("审核") Then
                e.Form.Controls("shr").text = Nothing
                e.Form.Controls("RadioButton1").text = False
                r("审核人") = Nothing
                r("已审核") = False
                r.locked = False
            Else
                MessageBox.show("你无审批权限!")
            End If
        Next
        DataTables("出纳数据记账源").Save()
End Select

'四.打印设置
Select Case e.StripItem.Name
    Case "打印设置最小打印行数" '导出代码
        e.Form.Controls("Table1").MinRows = 6
        Dim doc As PrintDoc = e.Form.GernatePrintDoc()
        doc.Preview()
        '设置最大打印行数
    Case "设置最大打印行数" '导出代码
        e.Form.Controls("Table1").MaxRows = 10
        Dim doc As PrintDoc = e.Form.GernatePrintDoc()
        doc.Preview()
End Select

'五.打印
Select Case e.StripItem.Name
    Case "预览" '打印预览
        Dim doc As PrintDoc = e.Form.GernatePrintDoc()
        doc.Preview() '打印预览
    Case "打印" '打印
        Dim doc As PrintDoc = e.Form.GernatePrintDoc()
        doc.Print()
End Select

'六.导出
Select Case e.StripItem.Name
    Case "导出" '导出代码
        e.StripItem.HideDropDown()
        Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
        dlg.Filter= "Excel文件|*.xls" '设置筛选器
        If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
            Tables("出纳录入收款数据_Table1").SaveExcel(dlg.FileName, "出纳录入收款数据")  '保存文件
        End If
End Select

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


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

又没有提供项目测试,我们靠想象力来解决问题吗?

何况基本的调试方法又不是不会,是懒吧!每一行代码后面都加上提示框调试,不就不信找不到出错的代码是哪一行!

再说了到底是您在开发项目还是我们在开发项目,我们提供的是技术服务,不是保姆服务。以3楼解决的问题来说,基本都不算是技术问题,复制其它地方代码后忘记改窗口引用了,就是纯体力活,我也就是加上提示框调试前后多次测试,定位到出错那一行代码。

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


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

    我已经连续几天没离开电脑一直在测试代码,发上来的是简化后的代码,把问题尽量简化,我有你这么专业问题一下就解决了,重建发上来的窗口你说是忘记改窗口引用,哦,谢谢,这是我没想到的问题,不是我赖,真的没想到问题在哪,我一直在学而且很努力在做,效果我已经看到,是我要的效果,现在的问题是为什么在窗口管理中正常,在双击弹窗中的菜单报错,仅是菜单,不是窗口中的表,所以我只能到窗口管理的菜单中测试,改过来了,还是这样,以我的能力查找自觉代码没问题,但菜单依然这样报错,何解?
[此贴子已经被作者于2022/3/18 20:46:26编辑过]

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


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

上传上来的项目你双击弹窗菜单栏单据录入就看到报错了。

 回到顶部
总数 21 1 2 3 下一页