首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA访问比较字符串,因为它们是整数

VBA访问比较字符串,因为它们是整数
EN

Stack Overflow用户
提问于 2016-03-21 16:10:43
回答 2查看 1.3K关注 0票数 1

我试图提示用户输入一个范围,并以子形式显示在该范围内的所有仪器。

问题:上、下区域是一个文本字段(因为某些范围不能用整数表示)。如截图所示,比较只比较该领域的第一个字符。

用户输入:5-3在子表单上:36 -4,它比较5和3,而不是36

我知道vba正在做被告知的事情,但是我如何才能达到我想要的结果呢?

下面是请求子表单的代码:

代码语言:javascript
复制
    Dim Up As Integer
    Dim Low As Integer

        If Me.Text_L = "" Or IsNull(Me.Text_L) Or Me.Text_U = "" Or IsNull(Me.Text_U) Then
            MsgBox ("Please choose a valid range!")
        Else
            Up = Me.Text_U
            Low = Me.Text_L

            SQL = SQL_Origin & " WHERE [qry_View_Search].[Upper_Range] <= '" & Up & "' " _
            & "AND [qry_View_Search].[Lower_Range] >= '" & Low & "';"


            subform_View_Search.Form.RecordSource = SQL
            subform_View_Search.Form.Requery
        End If
EN

回答 2

Stack Overflow用户

发布于 2016-03-22 13:07:39

因此,我所做的就是在IIf(IsNumeric([Upper]), Val([Upper]), Null)查询中创建一个新列,以获得所有的数值结果。

然后在vba中,我将查询子表单,如下所示

代码语言:javascript
复制
SQL = SQL_Origin & " WHERE [qry_View_Search].[Upper] <= cint(Forms![frm_View_Search]![Text_U]) " _
                                    & "AND [qry_View_Search].[Lower] >= cint(Forms![frm_View_Search]![Text_L]);"

谢谢你!

票数 2
EN

Stack Overflow用户

发布于 2016-03-21 18:59:27

我成功地处理了那些只使用Val的案件:

代码语言:javascript
复制
Value: Val([FieldName])

或者:

代码语言:javascript
复制
Value: Val(Nz([FieldName]))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36136167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档