以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  后台数据更新问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118507)

--  作者:狂风暴雨狂波
--  发布时间:2018/5/4 14:19:00
--  后台数据更新问题

Dim tb As Table = Tables("期初数据表")
Dim dr As Row = tb.Current
Dim sbh As String = Tables("注册表").Current("纳税识别号")

Dim dm As String = dr("科目代码")
Dim km As String = dm.SubString(0,4)
Dim bnj As Double=tb.Compute("sum(本年借方发生额累计)","科目代码 Like \'" & km & "%\'")

Dim pr As DataRow=DataTables("一级科目余额表").SQLFind("年 Is Null And 月 Is Null And 科目代码=\'" & km & "\'And 纳税识别号=\'" & sbh & "\'")

If pr Isnot Nothing Then

Dim Filter As String = "年 Is Null And 年_月 Is Null And 科目代码=\'" & km & "\'And 纳税识别号=\'" & sbh & "\'"

DataTables("一级科目余额表").SQLReplaceFor("借方金额",bnj,Filter)

End If

运行时报错,提示"至少一个参数没有被指定值",请教老师代码错在哪?


--  作者:有点甜
--  发布时间:2018/5/4 14:29:00
--  

条件有错

 

Dim Filter As String = "年 Is Null And 年_月 Is Null And 科目代码=\'" & km & "\'And 纳税识别号=\'" & sbh & "\'"

 

你这里的列,必须不能是【表达式列】,也就是你后台数据库那里,必须有你写的这些列


--  作者:狂风暴雨狂波
--  发布时间:2018/5/4 14:45:00
--  
以下是引用有点甜在2018/5/4 14:29:00的发言:

条件有错

 

Dim Filter As String = "年 Is Null And 年_月 Is Null And 科目代码=\'" & km & "\'And 纳税识别号=\'" & sbh & "\'"

 

你这里的列,必须不能是【表达式列】,也就是你后台数据库那里,必须有你写的这些列

Dim tr As DataRow = DataTables("凭证明细").SQLFind("年 Is Null And 年_月 Is Null And 科目代码=\'" & dr("科目代码") & "\'And 纳税识别号=\'" & sbh & "\'")

If tr IsNot Nothing Then

Dim Filter As String = "年 Is Null And 年_月 Is Null And 科目代码=\'" & dr("科目代码") & "\'And 纳税识别号=\'" & sbh & "\'"
DataTables("凭证明细").SQLReplaceFor("期初_数量",dr("年初_数量"),Filter)

End If

为什么这段代码运行不报错,两者的差别就是这个Value的值是"dr("年初_数量")",1楼Value的值是"bnj"?


--  作者:有点甜
--  发布时间:2018/5/4 15:10:00
--  
以下是引用狂风暴雨狂波在2018/5/4 14:45:00的发言:

 

为什么这段代码运行不报错,两者的差别就是这个Value的值是"dr("年初_数量")",1楼Value的值是"bnj"?

 

那就是你红色代码的列不正确

 

DataTables("一级科目余额表").SQLReplaceFor("借方金额",bnj,Filter)