以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 双击行弹出窗口报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175778) |
||||
-- 作者:采菊东篱下 -- 发布时间:2022/3/18 14:04:00 -- 双击行弹出窗口报错
我把表导出上传不是在我原项目的报错,原项目报错在从双击行中打开窗口,点菜单上的单据录入按钮就弹出 .NET Framework 版本:4.0.30319.18063 Foxtable 版本:2022.1.30.2 错误所在事件: 详细错误信息: 标准表达式中数据类型不匹配。 但在正常的配置栏菜单打开单据窗口,点窗口上的菜单栏单据录入按钮,没报错,一切正常,我在表的双击代码检查来检查去看不出那出问题,把数据导出新建项目,双击行后弹出的报错跟原项目不一样,连最后添加的不够10行补足10行代码都没执行了,这是什么问题? [此贴子已经被作者于2022/3/18 14:57:55编辑过]
|
||||
-- 作者:采菊东篱下 -- 发布时间:2022/3/18 14:07:00 -- 这是导出后新建的报错 此主题相关图片如下:qq图片20220318133839.png 上传的图片,在这论坛怎也不显示了,重新上传却说我不能超过3个附件,确认后却只显示1个附件,这论坛、软件也太折人了! 这是原项目上的报错。
|
||||
-- 作者:有点蓝 -- 发布时间:2022/3/18 15:00:00 -- 窗口的引用方法有问题
窗口打开后的处理建议放到窗口afterload事件,没有必要放到双击里。再说窗口afterload事件已有差不多一样的代码,又何必执行2次,是嫌运行的太快,多执行一次代码,让窗口打开的慢一点,让用户以为这个窗口好努力么!
|
||||
-- 作者:采菊东篱下 -- 发布时间:2022/3/18 16:44:00 -- 不够10行补足10行显示你解决了,但我的原项目中是没这问题的,只是导出重新时出现,现在点菜单栏上的单据录入按钮弹出的报错还是没解决,这才是我要问的问题,出纳数据记账源表里不仅有收款数据还有付款数据,微信、支付宝、其他货币资金类收费不属收、付凭证的,因此双击代码要区别对待。 此主题相关图片如下:qq图片20220318133903.png [此贴子已经被作者于2022/3/18 16:43:55编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/3/18 16:46:00 -- 调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错 |
||||
-- 作者:采菊东篱下 -- 发布时间: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编辑过]
|
||||
-- 作者:采菊东篱下 -- 发布时间: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
|
||||
-- 作者:有点蓝 -- 发布时间:2022/3/18 17:26:00 -- 又没有提供项目测试,我们靠想象力来解决问题吗? 何况基本的调试方法又不是不会,是懒吧!每一行代码后面都加上提示框调试,不就不信找不到出错的代码是哪一行!
再说了到底是您在开发项目还是我们在开发项目,我们提供的是技术服务,不是保姆服务。以3楼解决的问题来说,基本都不算是技术问题,复制其它地方代码后忘记改窗口引用了,就是纯体力活,我也就是加上提示框调试前后多次测试,定位到出错那一行代码。 |
||||
-- 作者:采菊东篱下 -- 发布时间:2022/3/18 17:49:00 -- 我已经连续几天没离开电脑一直在测试代码,发上来的是简化后的代码,把问题尽量简化,我有你这么专业问题一下就解决了,重建发上来的窗口你说是忘记改窗口引用,哦,谢谢,这是我没想到的问题,不是我赖,真的没想到问题在哪,我一直在学而且很努力在做,效果我已经看到,是我要的效果,现在的问题是为什么在窗口管理中正常,在双击弹窗中的菜单报错,仅是菜单,不是窗口中的表,所以我只能到窗口管理的菜单中测试,改过来了,还是这样,以我的能力查找自觉代码没问题,但菜单依然这样报错,何解? [此贴子已经被作者于2022/3/18 20:46:26编辑过]
|
||||
-- 作者:采菊东篱下 -- 发布时间:2022/3/18 17:53:00 -- 上传上来的项目你双击弹窗菜单栏单据录入就看到报错了。 |