Foxtable(狐表)用户栏目专家坐堂 → 表达式双引号实在不会用


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

主题:表达式双引号实在不会用

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/29 17:47:00 [只看该作者]

 这样写

 

Dim Filter As String = pr("DK编码") & " = '" & e.DataRow("关联仓库DK编码") &  "' And " & pr("账年") & " = '" & e.DataRow("账年") & "' And " &  pr("账月") & " = '" & e.DataRow("账月") & "'"


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 10:11:00 [只看该作者]

补充一下 账年  账月 是整数列类型,我把楼上“有点甜”的代码放进去,结果还是出错,整个的代码我复制在下面,烦请各位帮修正

If e.DataCol.Name = "客审后定账确认" AndAlso e.DataRow("客审后定账确认") = True Then
    Dim nma() As String = {"关联仓库DK编码","DK简称","账年","账月"}      
    Dim nmb() As String = {"DK编码","DK简称","账年","账月"}    
    Dim pr As DataRow
    pr = DataTables("销售应收与衍生应付").Find("[DK编码] = '" & e.DataRow("关联仓库DK编码" ) & "' And [账年] = '" & e.DataRow("账年") & "' And  [账月] = '" & e.DataRow("账月") &"'")
    If pr Is Nothing Then
        Dim dr As DataRow = DataTables("销售应收与衍生应付").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else 
        Dim Filter As String = pr("DK编码") & " = '" & e.DataRow("关联仓库DK编码") &  "' And "  & pr("账年") & " = '" & e.DataRow("账年") & "' And " &  pr("账月") & " = '" & e.DataRow("账月") & "'"
        pr("应收金额")= DataTables("销售与衍生对账").Compute("Sum(产生金额)", Filter ) 
        pr("K佣金1_金额")= DataTables("销售与衍生对账").Compute("Sum(佣金金额1)",  Filter & " And 客审后定账确认 = True"  ) 
       
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/30 10:16:00 [只看该作者]

报什么错?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/30 10:17:00 [只看该作者]

 你msgbox(filter)看看结果

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 10:24:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.9.9.1
错误所在事件:表,销售与衍生对账,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到列 [K8]。

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 10:27:00 [只看该作者]

[K8]是“DK编码”列的具体内容

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 10:28:00 [只看该作者]

【K8]也是“关联仓库DK编码”列的内容

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/30 10:38:00 [只看该作者]

If e.DataCol.Name = "客审后定账确认" AndAlso e.DataRow("客审后定账确认") = True Then
    Dim nma() As String = {"关联仓库DK编码","DK简称","账年","账月"}     
    Dim nmb() As String = {"DK编码","DK简称","账年","账月"}   
    Dim pr As DataRow
    pr = DataTables("销售应收与衍生应付").Find("[DK编码] = '" & e.DataRow("关联仓库DK编码" ) & "' And [账年] = '" & e.DataRow("账年") & "' And  [账月] = '" & e.DataRow("账月") &"'")
    If pr Is Nothing Then
        Dim dr As DataRow = DataTables("销售应收与衍生应付").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else
        Dim Filter As String = "[DK编码] = '" & pr("DK编码" ) & "' And [账年] = '" & pr("账年") & "' And  [账月] = '" & pr("账月") &"'"
        pr("应收金额")= DataTables("销售与衍生对账").Compute("Sum(产生金额)", Filter )
        pr("K佣金1_金额")= DataTables("销售与衍生对账").Compute("Sum(佣金金额1)",  Filter & " And 客审后定账确认 = True"  )
      
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:7 积分:112 威望:0 精华:0 注册:2014/9/19 17:37:00
  发帖心情 Post By:2014/9/30 11:04:00 [只看该作者]

If e.DataCol.Name = "客审后定账确认" AndAlso e.DataRow("客审后定账确认") = True Then
    Dim nma() As String = {"关联仓库DK编码","DK简称","账年","账月"}
    Dim nmb() As String = {"DK编码","DK简称","账年","账月"}
    Dim pr As DataRow
    pr = DataTables("销售应收与衍生应付").Find("[DK编码] = '" & e.DataRow("关联仓库DK编码" ) & "' And [账年] = " & e.DataRow("账年") & " And  [账月] = " & e.DataRow("账月"))
    If pr Is Nothing Then
        Dim dr As DataRow = DataTables("销售应收与衍生应付").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else
        Dim Filter As String = e.DataRow("关联仓库DK编码") & " = '" & pr("DK编码" ) & "' And " & e.DataRow("账年") & " = " & pr("账年") & " And  " & e.DataRow("账月") & " = " & pr("账月")
        pr("应收金额")= DataTables("销售与衍生对账").Compute("Sum(产生金额)", Filter )
        pr("K佣金1_金额")= DataTables("销售与衍生对账").Compute("Sum(佣金金额1)",  Filter & " And 客审后定账确认 = True"  )
    End If
End If

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 11:13:00 [只看该作者]

已经可以了,我开始写的语句:Dim Filter As String = pr("DK编码") & " = '" & e.DataRow("关联仓库DK编码") &  "' And "  & pr("账年") & " = '" & e.DataRow("账年") & "' And " &  pr("账月") & " = '" & e.DataRow("账月") & "'"  ,少想一步,少深入了一层,或者说 想复杂了。

 感谢“有点甜”,呵呵,也感谢其他帮助我的狐友,祝群里所有的狐子狐孙节日快乐。

另外,提个小小的意见
在帮助 动态合成表达式之一  里
有这个一句      Compute的第二个参数为计算条件表达式,该表达式分为三部分:

"[产品] = '" & Vars("产品") & "'"

这句 三部分的引号的分配方式确实没有看懂,估计其他人也有这个问题(搜索看到有人提出了差不多的问题),依我的理解单双引号的分配应该是这样的,不知道对不对,望大师解释,再次感谢!
 [产品] =    '" & Vars("产品") & "'   "


 回到顶部
总数 22 上一页 1 2 3 下一页