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


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

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

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
表达式双引号实在不会用  发帖心情 Post By:2014/9/29 16:19:00 [显示全部帖子]

各位大仙好,下面条件表达式中的双引号搞的我晕头转向,看了好几遍帮助,实在不会,请各位大仙给我斧正斧正

 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("账月")


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/29 16:19:00 [显示全部帖子]

底色为黄色的语句 就是拜托大师修正的语句,谢谢

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/29 17:12:00 [显示全部帖子]

狐爸,我也看了帮助,大部分能懂,可这里有一句 pr("DK编码") =   
就不知道怎么引,麻烦你帮我把整句给我修改一下,这样,结合帮助,学习的会更快

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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/29 17:36:00 [显示全部帖子]

3楼放进去是错误的。
上楼“有点甜”:[DK编码] = 这句我是用pr("DK编码") =   替代,现在就是不知道pr("DK编码") = 怎么引

 回到顶部
帅哥哟,离线,有人找我吗?
土佛
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
土佛
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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]。

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


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

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

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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
土佛
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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("产品") & "'   "


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


加好友 发短信
等级:童狐 帖子:283 积分:2118 威望:0 精华:0 注册:2011/12/15 11:49:00
  发帖心情 Post By:2014/9/30 11:21:00 [显示全部帖子]

呵呵,WCq很懂我的意思,其实, Dim Filter As String = e.DataRow("关联仓库DK编码") & " = '" & pr("DK编码" ) & "' And " & e.DataRow("账年") & " = " & pr("账年") & " And  " & e.DataRow("账月") & " = " & pr("账月")  中的e.DataRow("关联仓库DK编码") 没有必要e.DataRow,直接["关联仓库DK编码"]= '" & pr("DK编码" )就可以了,有点甜 是对的。但从学习的角度看,你写的语句
让我对表达式引号的使用又多理解了一层,谢谢

 回到顶部
总数 11 1 2 下一页