Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何把文本框中的数字转化数字格式

忠  发表于:2009-09-10 19:06:38  
复制

如何把文本框中的数字转化数字格式

 

Top
雪风 发表于:2009-09-10 19:14:38
=CDbl([字段名])

雪风 发表于:2009-09-10 19:16:14

在VBA中转化数值的函数有以下几个:

 

CDbl Double 负数从 -1.79769313486231E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308。
CDec Decimal 零变比数值,即无小数位数值,为
+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则为
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。
CInt Integer -32,768 至 32,767,小数部分四舍五入。
CLng Long -2,147,483,648 至 2,147,483,647,小数部分四舍五入



点燃一支烟 发表于:2009-09-12 11:23:15
val( )

忠 发表于:2009-09-13 10:50:28

为什么以上都不行,其实我的问题是,我要做一筛选,原数据表中有价格,我想做价格从某值到某值的筛选,数据表中价格是货币类型,而窗体中供输入最小价格和最大价格的是文本框,我必须将文本框中的文本转化为数字或货币,才能比较,不知怎么回事,就是不行.

Private Sub 筛选_Click()
Dim strWhere As String  '定义条件字符串
   
    strWhere = "" '设定初始值-空字符串
           If Not IsNull(Me.[物品名称]) Then
            strWhere = strWhere & "([物品名称] like '*" & Me.物品名称 & "*') AND "
    End If
    If Not IsNull(Me.[规格型号]) Then
            strWhere = strWhere & "(([型号] like '*" & Me.规格型号 & "*') or ([规格] like '*" & Me.规格型号 & "*')) AND "
    End If
    If Not IsNull(Me.[保修期]) Then
             strWhere = strWhere & "([保修期] like '*" & Me.保修期 & "*') AND "
    End If
  If Not IsNull(Me.[低价格]) Then
          strWhere = strWhere & "([维修报价] >= val(Me.低价格)) & ) AND "
   End If
   If Not IsNull(Me.高价格) Then
              strWhere = strWhere & "([维修报价] <= val(Me.高价格)) & ) AND "
    End If
    If Len(strWhere) > 0 Then
        '有输入条件
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
  Me![备件查询 子窗体].Form.Filter = strWhere
  Me![备件查询 子窗体].Form.FilterOn = True

Me![备件查询 子窗体].Form.OrderBy = "[统一物品清单ID]"
   Me![备件查询 子窗体].Form.OrderByOn = True
End Sub



点燃一支烟 发表于:2009-09-13 10:53:53

传你的附件,眼睛都看花了



点燃一支烟 发表于:2009-09-13 11:07:28

 

If Not IsNull(Me.低价格) And Not IsNull(Me.高价格) Then

strWhere = strWhere & "[维修报价] BETWEEN " & Me.低价格 & " and " & Me.高价格 & " and "

End If

If Not IsNull(Me.低价格) And IsNull(Me.高价格) Then

strWhere = strWhere & "[维修报价]>= " & Me.低价格 & " and "

End If


If IsNull(Me.低价格) And Not IsNull(Me.高价格) Then

 strWhere = strWhere & "[维修报价]<=" & Me.高价格 & " and "

End If

 

这样试试



忠 发表于:2009-09-13 12:01:16
太感谢了!解决了,就是这样!

总记录:7篇  页次:1/1 9 1 :