找回密码
 立即注册

QQ登录

只需一步,快速开始

yuhang666

注册会员

17

主题

57

帖子

164

积分

注册会员

积分
164
yuhang666
注册会员   /  发表于:2017-6-21 09:25  /   查看:4003  /  回复:7
好:

求助一下,
VB版的Spread,版本3.0

使用了ADO的方式访问DB,DB字段是Number(7)类型的,在VB中Watch时候,显示时Decimal类型,可以参照附件图片
使用SetText赋值后,画面不显示,
im vntwk               As Variant
Call .SetText(cgSsQn_Dc_Free, lngCnt, vntwk)

请问,VB本身是不支持Decimal类型的,由于使用ADO访问DB导致Decimal类型的出现,
此时,赋值是不是不被支持?



pic.jpg

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-21 10:27:12
沙发
SetText 是 设置string 设置 object 用 setValue
回复 使用道具 举报
yuhang666
注册会员   /  发表于:2017-6-21 10:29:12
板凳
dexteryao 发表于 2017-6-21 10:27
SetText 是 设置string 设置 object 用 setValue

因为这个是既存代码,我使用系统的时候发现这个问题了,
其实,我就想确认下,就现在这个用法,是不是就会发生这种情况?
回复 使用道具 举报
yuhang666
注册会员   /  发表于:2017-6-21 10:34:12
地板
dexteryao 发表于 2017-6-21 10:27
SetText 是 设置string 设置 object 用 setValue

我不太明白什么意思?
如果是下面这种下发就没问题,区别就是从DB取得以后,type是Decimal,

Dim text As Integer
text = 100
Call Me.vaSpread1.SetText(1, 1, text)
回复 使用道具 举报
yuhang666
注册会员   /  发表于:2017-6-21 10:37:03
5#
dexteryao 发表于 2017-6-21 10:27
SetText 是 设置string 设置 object 用 setValue

vb版本的spread我怎么没找到setvalue?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-21 17:59:31
6#
您说的应该是AcitveX 平台, ActiveX您就用setText没有问题
winform 平台有Value和Text的区分。
回复 使用道具 举报
yuhang666
注册会员   /  发表于:2017-6-23 16:55:00
7#
dexteryao 发表于 2017-6-21 17:59
您说的应该是AcitveX 平台, ActiveX您就用setText没有问题
winform 平台有Value和Text的区分。

但是,AcitveX 平台,
setText时,如果是Decmical的话,赋值是不显示的,
如1楼贴图
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-6-23 17:52:50
8#
我查了下接口 "10,000.00" or 10000.00 or "1E4"  这几种形式都可以的。
您把Decmical 转换成 String试试。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部