Foxtable(狐表)用户栏目专家坐堂 → [求助]函数出现语法错误,请帮忙看看是怎么回事?


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

主题:[求助]函数出现语法错误,请帮忙看看是怎么回事?

帅哥哟,离线,有人找我吗?
alangoon
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
[求助]函数出现语法错误,请帮忙看看是怎么回事?  发帖心情 Post By:2013/8/17 23:47:00 [只看该作者]

各位专家好!

 

写了个函数,但是调来调去都说语法错误? 请各位帮忙看看是怎么回事?

Dim bomid As String = args(0) '物料清单编码
Dim part As String = args(1) '主料物料编号
Dim diffqty As Double = args(2) '主物料编号不足数
Dim poqty As Double  '在途数量

Dim level As Integer '优先级
Dim drs As List(of DataRow) = DataTables("物料代用明细").Select(" 物料清单编码 = '" & bomid & "' And 原物料编号 = '" & part & "'")
If drs IsNot Nothing Then '如果有代用料的话
    For level = 0 To drs.Count
        Dim dr As DataRow = DataTables("物料代用明细").Find("物料清单编码 = '" & bomid & "' And 原物料编号 = '" & part & "' And 优先级 = '" & level & "'")
        'If dr IsNot Nothing Then  '如果代用料找到的话,优先级为0开始查找
            Dim Total_stock As Double = Functions.Execute("GetTotalStock",dr("代用物料编号")) '先查找其总库存
            If Total_stock >= (-diffqty) Then '如果代用料库存大于或等于不足数时,看是否存在需求表,存在则提取不足数,看是不是能够满足,能则更新,不能则下一个,不存在则写入需求表
                Dim dr1 As DataRow = DataTables("物料需求表").Find("物料编号 = '" & dr("代用物料编号") & "'")
                If dr1 IsNot Nothing Then '是否存在在物料需求表,存在则提取不足数,不存在则新增一个
                    Dim Sub_qty As Double = dr1("不足数量")
                    If Sub_qty >= (-diffqty) Then '存在在物料需求表里的代用料的不足数大于或等于主料不足数,则选其代用.否则找下一个.
                        dr1("需求数量") = dr1("需求数量") - diffqty
                        dr1("不足数量") = dr1("不足数量") - diffqty
                        dr1("备注")=dr1("备注") & "/" & "代用" & part & ":" &(-diffqty)
                        Exit For
                    Else
                        level = level + 1 '选择下一个优先级的代用料
                    End If
                Else '新增一条记录在物料需求表中
                    poqty =0
                    For Each dr3 As DataRow In DataTables("仓库主文件").DataRows 'b
                        Dim dr4 As DataRow = DataTables("库存清单主文件").Find("物料编号 = '" & dr("代用物料编号") & "'And 仓库编码 = '" & dr3("仓库编码") & "'")
                        If dr4 IsNot Nothing Then '提取库存的在途数量和总库存量
                            poqty = poqty + dr3("在途数量") '总在途数量
                        End If
                    Next 'b
                   
                    Dim dr2 As DataRow = DataTables("物料需求表").AddNew
                    dr2("物料编号") = dr("代用物料编号")
                    dr2("描述") = dr("物料描述")
                    dr2("单位") = dr("单位")
                    dr2("需求数量") = (-diffqty)
                    dr2("在途数量") = poqty
                    dr2("不足数量") = Total_stock + poqty - dr2("需求数量")
                    dr2("备注") = "代用" & part & ":" & dr2("需求数量")
                    Functions.Execute("Write_Stock_ToMrp",dr("代用物料编号"),dr2)
                    Exit For
                End If
            End If
      'End If              .
    Next
End If
Return Nothing

把高亮处代码取消注释后出现错误。

 


图片点击可在新窗口打开查看此主题相关图片如下:编译错误.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/8/18 0:05:00 [只看该作者]

从图片上看,你没有把IF注释掉。。

错误提示表明,你少了end if ,说明你多了个IF


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/8/18 6:29:00 [只看该作者]

'End If              .


麻痹啦,太麻痹啦!最后那个小红点,看见没?


 回到顶部
帅哥哟,离线,有人找我吗?
alangoon
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:175 积分:2118 威望:0 精华:0 注册:2013/3/9 23:21:00
  发帖心情 Post By:2013/8/18 11:35:00 [只看该作者]

看到了,果然是这样。多谢!看来得清洁一下显示屏。


 回到顶部