以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  限制某列字符数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1083)

--  作者:老有所乐
--  发布时间:2008/11/9 21:08:00
--  限制某列字符数
“表A”有[B列]为字符型,现有行中已有记录(中文),但是记录有2-10个字符不等,我想让该列的记录都成为2个中文字符的记录,其代码如何编写。谢谢!
--  作者:czy
--  发布时间:2008/11/9 21:46:00
--  
是不是不管此列有多少字符的数据,你只需让它保留两个字符?
--  作者:老有所乐
--  发布时间:2008/11/9 21:52:00
--  
是的。
--  作者:gdtgl
--  发布时间:2008/11/9 22:55:00
--  
Dim r1 As List(Of DataRow)  = dataTables("表A").select("[B列] <> \'\'")
for each a1 as datarow in r1
  a1("B列")=a1("B列").SubString(0,2)
next

--  作者:老有所乐
--  发布时间:2008/11/9 23:35:00
--  
谢谢!很好。
--  作者:程兴刚
--  发布时间:2008/11/10 0:46:00
--  
如果不是针对已有数据进行处理,请在输入数据前更改列类型属性界面设置字符长度为2个字符!
--  作者:老有所乐
--  发布时间:2008/11/10 7:55:00
--  

是的,主要是该已有的记录,记录太多,不愿一个一个改。谢谢程版


--  作者:t_fs
--  发布时间:2008/11/10 8:20:00
--  
    为了防止有各别记录出现一个字符的情况而出错,代码应再加一个判断如下:

Dim r1 As List(Of DataRow)  = dataTables("表A").select("[B列] <> \'\'")
for each a1 as datarow in r1
if a1("B列").length>=2
  a1("B列")=a1("B列").SubString(0,2)
end if
next

--  作者:老有所乐
--  发布时间:2008/11/10 11:36:00
--  
8楼考虑周到