Foxtable(狐表)用户栏目专家坐堂 → Find语句中能否引用随机产生的数值呢?


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

主题:Find语句中能否引用随机产生的数值呢?

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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
Find语句中能否引用随机产生的数值呢?  发帖心情 Post By:2019/5/3 12:08:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test001 (1).foxdb


下面这段代码复制到命令窗口,如果:
1、Find("[第二列] Like '%J%'") ,则可以正确运行。
2、替换成随机变量,Find("[第二列] Like '% & vs(Rand.Next(0,vs.Count-1)) & %'") ,或Find("[第二列] Like '% & v1 & %'"),
则不出结果。如何解决?
我的目的是这样的:
1、随机从中声母中选取一个声母。
2、从第二列中找到这个声母的行,以便引用本行相关数据。

Dim value() As String = {"Q","K","D","T","J","G","Y","F","S","Sh","R","L","N","B","P","W","M","Z","Zh","H","C","Ch","X"}
Dim v1 As String
Dim idx As Integer
Dim nList As new List(of String)
Dim vs As new List(of String)
vs.AddRange(Value)
idx = Rand.Next(0,vs.Count-1)
v1 = vs(idx)
msgbox(v1)

Dim dr As DataRow
'dr = DataTables("表A").Find("[第二列] Like '%J%'")  '正确运行
'dr = DataTables("表A").Find("[第二列] Like '% & vs(Rand.Next(0,vs.Count-1)) & %'") '不报错,但也得不到正确结果.
dr = DataTables("表A").Find("[第二列] Like '% & v1 & %'") '不报错,但也得不到正确结果.
If dr IsNot Nothing Then
    Dim wz As Integer = Tables("表A").FindRow(dr)
    If wz >= 0 Then
        Tables("表A").Position = wz
        dr("第四列") = 999
    End If
End If


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


加好友 发短信
等级:小狐 帖子:339 积分:3364 威望:0 精华:0 注册:2011/3/22 22:52:00
  发帖心情 Post By:2019/5/3 16:04:00 [只看该作者]

修改成这样,可以了:
dr = DataTables("全脑汉码声韵数字映射规则表").Find("第二列 like  " & "'%" & v1 & "%' " & " Or 第三列 Like  " & "'%" & v1 & "%' ")


 回到顶部