| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:数值转换问题!不明白!求教版主高手!!!
只看楼主 加入收藏
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
结帖率:87.21%
收藏
已结贴  问题点数:20 回复次数:9 
数值转换问题!不明白!求教版主高手!!!

rs.Fields("价格")这里的价格是数字类型
rs.Fields("单位")这里的单位是文字类型
为什么下面的输出提示类型不匹配?=后面的是不是要转换?怎么转换?还是前面的要动?指点一下
rs.Fields("价格") = rs.Fields("价格") & rs.Fields("单位")

[ 本帖最后由 wxflw 于 2012-11-24 08:23 编辑 ]
搜索更多相关主题的帖子: 价格 
2012-11-23 15:25
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:5 
rs.Fields("价格") & rs.Fields("单位")

因为你的的运算符是 & ,生成的结果就是 字符型,也就是文本类型。
而你的 rs.Fields("价格") 是 数字类型,当 生成的结果无法转换为 数字类型时,就会报 类型不匹配。

这种情况 下,有你可以 显式转换。

rs.Fields("价格")=val(rs.Fields("价格") & rs.Fields("单位"))

val 试图把字符串转为化最大可能的数值。

授人于鱼,不如授人于渔
早已停用QQ了
2012-11-23 16:39
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
那是不是有可能转换会有几率出错?
然后val(rs.Fields("单位"))的值等于0!比如我的单位是字符型:/月  那么他的结果就会出错!比如价格是100
那么rs.Fields("价格")=val(rs.Fields("价格") & rs.Fields("单位"))的结果就是rs.Fields("价格")=100那个"/月"就没有了的!这个怎么处理?
我是要处理:Set MSHFlexGrid1.DataSource = rs  表格的价格需要显示的格式是:100/月
在数据库里价格和单位是分开的价格是100单位是/月
 
 

 

[ 本帖最后由 wxflw 于 2012-11-23 19:57 编辑 ]

学习--------------学习-------------------学习--------------------!!
2012-11-23 18:53
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:5 
sMyShowData$ = rs.Fields("价格") & rs.Fields("单位")
'一定要把显示数据写到数据库么?
2012-11-23 20:24
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
这个不行的,是这样的!我在数据库中查询到记录。
在记录中有两个字段"价格"和单位"两个字段的值
比如:价格=100  单位=/月
那么查询数据库后会返回两个值
rs.Fields("价格")这里的价格是数字类型
rs.Fields("单位")这里的单位是文字类型
rs.Fields("价格")这里的价格是“100”
rs.Fields("单位")这里的单位是“/月”
那么在表格里会分两列显示“价格”和“单位”
 Set MSHFlexGrid1.DataSource = rs  
我现在是想将价格和单位合并在一个单元格里显示
在还有两个单元格的合并里没有出现问题,代码如下
 rs.Fields("楼号") = rs.Fields("楼号") & "号-" & rs.Fields("房号")
因为都是字符串型所以没有出错
但是在下面这里就出错了
rs.Fields("价格") = rs.Fields("价格") & rs.Fields("单位")
因为价格和单位不是同一个类型,转换的时候还是出错了,不管将价格转换为字符串还是单位转换成数据型都出错,
可能和=号前面的rs.Fields("价格") 类型有关,不知道怎么弄的!

学习--------------学习-------------------学习--------------------!!
2012-11-23 20:50
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:5 
rs.Fields("价格")这里的价格是数字类型
 rs.Fields("单位")这里的单位是文字类型
 rs.Fields("价格")这里的价格是“100”
 rs.Fields("单位")这里的单位是“/月”
 rs.Fields("价格") = rs.Fields("价格") & rs.Fields("单位")
肯定出错左边是数字类型右边是文字类型

无知
2012-11-24 11:08
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
这个怎么处理?“=”左右两边的rs.Fields("价格")都转换吗?但是“=”左边的不能用转换函数的呀!

学习--------------学习-------------------学习--------------------!!
2012-11-24 11:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
那你把价格这个 字段改为字符型吧。

授人于鱼,不如授人于渔
早已停用QQ了
2012-11-24 13:09
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
话说调试下,让咱们瞅瞅那是什么类型。
debug.print "价格 type:";rs.Fields("价格").type
2012-11-24 15:34
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
直接这么干了!也行,就是怪怪的,测试的数据多的时候那两列数据像两条龙往下跑!速度不咋地!
With MSHFlexGrid1
     .Col = 1
     For i = 1 To .Rows - 1
        .Row = i
        .CellFontSize = 6
        .TextMatrix(i, 1) = .TextMatrix(i, 1) & "号-" & .TextMatrix(i, 2)
        .TextMatrix(i, 3) = .TextMatrix(i, 3) & .TextMatrix(i,4)
     Next
    End With

[ 本帖最后由 wxflw 于 2012-11-24 16:14 编辑 ]

学习--------------学习-------------------学习--------------------!!
2012-11-24 16:13
快速回复:数值转换问题!不明白!求教版主高手!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024799 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved