以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 提示异常未知编译错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193283) |
||||
-- 作者:nuoyan89 -- 发布时间:2024/8/31 23:25:00 -- 提示异常未知编译错误 老师,我加上如图上圈起来的代码后提示“未知编译错误”,不加这个代码没有问题,全部代码如附件
|
||||
-- 作者:有点蓝 -- 发布时间:2024/9/1 20:08:00 -- 首先,注意项目文件所在的路径,以及项目名称不要有括号,空格等特殊字符,否则无法显示详细的错误提示,只能显示未知编译错误。 其次,代码里定义的变量都有使用范围。在case 1里定义的变量,到case 2是无法使用的,case 2没有定义barcode这个变量。 然后,2个【cmd1.CommandText =】代码挨着放到一起,第2句赋值后会替代第1句赋值的内容,所以第1句没有任何作用
|
||||
-- 作者:nuoyan89 -- 发布时间:2024/9/1 22:28:00 -- 老师,才接触这个JS语句的写法,cmd1.CommandText 这个做的是全局变量。可教下怎么改吗?如图1,圈起来的地方没有起作用,也不报错。
|
||||
-- 作者:有点蓝 -- 发布时间:2024/9/1 22:49:00 -- 说明这个编码返回的数量值是0 |
||||
-- 作者:nuoyan89 -- 发布时间:2024/9/1 23:09:00 -- 不是的,求和的数量是 2,这个情况他应该提示有不良记录的,但是实际却没提示 |
||||
-- 作者:有点蓝 -- 发布时间:2024/9/2 8:37:00 -- 学会调试 If e.GetValues.ContainsKey("type") Then msgbox(e.GetValues("type")) Select Case CInt(e.GetValues("type")) Case 1 Dim barcode As String = e.GetValues("code") Dim smlx As String = e.GetValues("smlx") Dim jggx As String = e.GetValues("jggx") msgbox(barcode ) cmd1.CommandText = "Select sum(待转数量) From 过程异常明细 Where 毛坯编码 = \'" & barcode & "\'" dim k as integer = cmd1.ExecuteScalar msgbox("第一次=" & k) If k > 0 Then code = 1 msg = "请解封不良记录" cmd1.CommandText = "Select Count(*) From 工序跟踪表 Where 毛坯编码 = \'" & barcode & "\' And 加工工序 = \'" & jggx & "\' And 扫码类型 = \'" & smlx & "\'" k = cmd1.ExecuteScalar msgbox("第2次=" & k) If k > 0 Then code = 1 msg = "请勿重复扫码" …… |
||||
-- 作者:nuoyan89 -- 发布时间:2024/9/2 9:57:00 -- 已处理好,换了一种方式,谢谢 |
||||
-- 作者:nuoyan89 -- 发布时间:2024/10/12 23:04:00 -- 老师,红色代码不能按条件统计结果,调试之后显示的结果为0,但是我的过程异常明细表中是有数据的。 Dim cmd1 As New S QLCommand Dim cmd2 As New S QLCommand Dim barcode As String = e.GetValues("code") cmd2.CommandText = "S elect Count(*) From 过程异常明细 Where 毛坯编码 = \'" & barcode & "\' And (返修结果 Like \'%废%\' or 返修结果 Like \'%转自用%\' Or 返修结果 Is Null)" cmd1.CommandText = "S elect Count(*) From 工序跟踪表 Where 毛坯编码 = \'" & barcode & "\' And 加工工序 = \'" & jggx & "\' And 扫码类型 = \'" & smlx & "\'" If cmd1.ExecuteScalar > 0 Or cmd2.ExecuteScalar > 0 Then code = 1 msg = "检查重码和不良" End If
|
||||
-- 作者:有点蓝 -- 发布时间:2024/10/13 19:40:00 -- 说明没有符合条件的数据。有数据和有符合条件的数据是两码事 |
||||
-- 作者:nuoyan89 -- 发布时间:2024/10/14 7:52:00 -- 有,如图 |