以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94967)

--  作者:wgqcool
--  发布时间:2017/1/6 13:52:00
--  [求助]
“订单数量”列是个整数列;
“已发货数量”列是个表达式列,用来计算关联子表的统计数量;
“是否发齐”列是个逻辑列
希望当已发货数量等于订单数量时,是否发齐列能自动赋值为TRUE
执行下面的代码,报错“列名“已发货数量”无效”。
Dim val As String
Dim val1 As String
For Each dr As DataRow In dataTables("订单表").datarows
  val = dr.SQLGetValue("订单数量")
val1 = dr.SQLGetValue("已发货数量")
if val=val1 then
  dr("是否发齐") = true
else
 dr("是否发齐") = false
end if
next
是不是因为“已发货数量”列为表达式,所以不能用SQLGetValue来获得表达式的值?那要用什么函数来实现么?求教求教!~
[此贴子已经被作者于2017/1/6 13:55:26编辑过]

--  作者:有点色
--  发布时间:2017/1/6 14:18:00
--  

表达式列,确实是不能直接后台取值的。 

 

但直接这样写,为什么要用sqlGetValue?

 

Dim val As String
Dim val1 As String
For Each dr As DataRow In DataTables("订单表").datarows
    val = dr("订单数量")
    val1 = dr("已发货数量")
    If val=val1 Then
        dr("是否发齐") = True
    Else
        dr("是否发齐") = False
    End If
Next


--  作者:wgqcool
--  发布时间:2017/1/6 14:42:00
--  
图片点击可在新窗口打开查看傻傻的分不清楚!原来可以直接取值,可以了!谢谢老师!