Foxtable(狐表)用户栏目专家坐堂 → [求助]字段转换类型后,再参与条件表达式问题


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

主题:[求助]字段转换类型后,再参与条件表达式问题

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
[求助]字段转换类型后,再参与条件表达式问题  发帖心情 Post By:2021/9/24 0:15:00 [只看该作者]

老师好


Dim val1 As Double =3.1

With CurrentTable

    Dim r As Integer

    r = .FindRow("[cont] >= " & val1) '从第一行开始查找

    If r >= 0 Then '如果找到的话

        .Position = r '定位到找到的行.

    End If

End With


上面代码 在[cont] 是数据Double类型时,没有问题,


偏偏我的[cont]是字符型,如“12.34”

试了    r = .FindRow("CDbl([cont]) >= " & val1) 报错

怎么样写代码呀,完成查找


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


加好友 发短信
等级:九尾狐 帖子:2193 积分:18033 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/9/24 6:44:00 [只看该作者]

r = .FindRow("[cont] >= '" & val1 & "')"   '从第一行开始查找

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 8:49:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/0098.htm

r = .FindRow("Convert([cont], 'System.Double') >= " & val1)

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2021/9/24 8:56:00 [只看该作者]

你好
val1 是数值,不能用单引号来引用吧

我本意是有两数字字符串,需要比较大小
如 
dim a as string ="3.18"
dim b as string ="22.18"   b:从数据表【Cont1】而来

用字符来比较,a>b
我想要的结果是   CDbl(b)> CDbl(a)来定位position,所以需要把字符字段转换为数值字段转,再来比较

被困住了,求办法






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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 9:07:00 [只看该作者]

看3楼

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2021/9/24 9:50:00 [只看该作者]

老师  
出现错误

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.10.9.1
错误所在事件:DropBox1,DropDownOpened
详细错误信息:
输入字符串的格式不正确。   怎么回事?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 9:52:00 [只看该作者]

代码?!!

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2021/9/24 10:17:00 [只看该作者]

Dim txt1 As String = Forms("GPS接收").controls("ComboBox-数据来源").Text
Dim txt2 As String = Forms("GPS接收").controls("ComboBox-来源名称").Text
Dim txt3 As String = e.Form.DropDownBox.Text

Dim t As Table = Forms("当前节点下拉窗口").controls("Table1").Table   ''Tables("窗口1_Table1")  ''e.Form.controls("Table1")
t.RowHeaderVisible = False

t.Filter = "[Class] = '定位数据' and [Scene] ='"  & txt1 & "'  And [Cont1] = '" & txt2 & "'"

Dim i As Integer=0
i = t.FindRow("Convert([Cont3],'System.Double') >= " & CDbl(txt3) )

If i >= 0 Then
    t.Position = i
End If

t.Select()

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 10:27:00 [只看该作者]

[Cont3]这个列数据有无法转换为数值的数据,比如字母,中文等

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


加好友 发短信
等级:二尾狐 帖子:502 积分:4924 威望:0 精华:0 注册:2016/7/11 10:12:00
  发帖心情 Post By:2021/9/24 10:45:00 [只看该作者]

只用 2条记录(“10“和”20”)  测试了,还是一样报错,???

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