以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 关于maxlength的一个小问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174381)
|
-- 作者:hfapplehao
-- 发布时间:2022/1/12 22:52:00
-- 关于maxlength的一个小问题
设想是这样的.双击某个单元格,如果这个单元格是字符型,且最大字符数超过64位,就跳出一个窗口来显示全部内容 然后根据老师提示,写了如下判断条件代码.结果发现这段代码遇到双精度小数的列 竟然判断也是true ,虽然不知道什么原因,但是还是想请教下老师,有什么方法来绕开这个双精度小数列呀
此主题相关图片如下:双精度小数.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2022-1/202211222514310836.png)
if CurrentTable.DataTable.DataCols(CurrentTable.Colsel).Isstring And CurrentTable.DataTable.DataCols(CurrentTable.Colsel).maxlength >=64
|
-- 作者:有点蓝
-- 发布时间:2022/1/13 8:47:00
--
是要判断这个单元格里内容的字符个数?还是判断这个单元格所在列的列长度?
|
-- 作者:hfapplehao
-- 发布时间:2022/1/13 9:38:00
--
判断条件如下该单元格类型为字符型,且所在列的允许最大输入字符的长度超过64个字符。 但是双精度小数貌似也是符合上面的要求的 ![dvubb 图片点击可在新窗口打开查看](images/emot/em62.gif)
|
-- 作者:有点蓝
-- 发布时间:2022/1/13 9:44:00
--
If CurrentTable.DataTable.DataCols(CurrentTable.Colsel).Isstring AndAlso CurrentTab
|
-- 作者:hfapplehao
-- 发布时间:2022/1/13 14:07:00
--
神奇啊...,问题虽然是解决了,可是我的逻辑却出了问题and 是两个都算,然后取交集嘛! andalso 是先算左侧,再算右侧! 不管怎么说,下面的运算结果是一样的呀。可是这段代码用在判断列就有差别了
|
-- 作者:有点蓝
-- 发布时间:2022/1/13 15:11:00
--
andalso 是先算左侧,如果左侧为真,再算右侧;如果左侧为假,就不再算右侧
上面的测试使用数字来测试是不正确的,应该使用逻辑值测试,看帮助的测试代码。
and既是逻辑运算符,也是位移运算符:https://www.yiibai.com/vb.net/vb.net_bitshift_operators.html,如果使用数字测试,vb.net 就把and当做位移符号了
|