以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  还是关于“合成表达式”求解。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103239)

--  作者:user121
--  发布时间:2017/7/3 22:17:00
--  还是关于“合成表达式”求解。

Dim strfind As RibbonMenu.TextBox = RibbonTabs("功能区1").Groups("功能组1").Items("工具栏1").Items("文本框1")
Dim val As String = strfind.text
Dim nm As String = CurrentTable.Cols(CurrentTable.ColSel).Name
With CurrentTable
    Dim Index As Integer = .FindRow(nm & "= \'"& val &"\'" ,.position+1,True )
    If Index>=0 Then
        .Position= Index
    End If
End With


上次关于合成表达式问题,“有点色”老师为我解答过,但今天又有一点弄不明白了,看到定义,合成表达式应该是一个字符串,为何.FindRow(nm & "= \'"& val &"\'" ,.position+1,True ) 中,表达式 nm & "= \'"& val &"\'"  nm没有包含在双引号内? 

等老师解答!!谢谢

如下例:

Dim dr As DataRow
With DataTables("订单")
dr = .Find("产品 = \'PD01\'","日期 Desc")                  此处都是在双引号内                
dr = .Find("产品 = \'PD01\'","日期 Desc",1 )   
End With





--  作者:有点蓝
--  发布时间:2017/7/3 22:24:00
--  
帮助的产品是字符串

代码中的nm是变量

还是先看多几遍编程基础吧

--  作者:user121
--  发布时间:2017/7/3 22:26:00
--  
您说的对,对这点一直有疑惑,谢谢解答