以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]字段转换类型后,再参与条件表达式问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172107)

--  作者:wangjh8888
--  发布时间: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
--  发布时间:2021/9/24 6:44:00
--  
r = .FindRow("[cont] >= \'" & val1 & "\')"   \'从第一行开始查找
--  作者:有点蓝
--  发布时间:2021/9/24 8:49:00
--  
参考:http://www.foxtable.com/webhelp/topics/0098.htm

r = .FindRow("Convert([cont], \'System.Double\') >= " & val1)
--  作者:wangjh8888
--  发布时间: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,所以需要把字符字段转换为数值字段转,再来比较

被困住了,求办法






--  作者:有点蓝
--  发布时间:2021/9/24 9:07:00
--  
看3楼
--  作者:wangjh8888
--  发布时间:2021/9/24 9:50:00
--  
老师  
出现错误

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

--  作者:有点蓝
--  发布时间:2021/9/24 9:52:00
--  
代码?!!
--  作者:wangjh8888
--  发布时间: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()

--  作者:有点蓝
--  发布时间:2021/9/24 10:27:00
--  
[Cont3]这个列数据有无法转换为数值的数据,比如字母,中文等
--  作者:wangjh8888
--  发布时间:2021/9/24 10:45:00
--  
只用 2条记录(“10“和”20”)  测试了,还是一样报错,???