以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]mdb数据库的列的宽度问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68156)

--  作者:zhangchi96
--  发布时间:2015/5/11 13:51:00
--  [求助]mdb数据库的列的宽度问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:修改数据库的列的列宽.rar

承蒙版主指点,修改MDB数据库的列名称代码是:

 If dt4.DataCols.Contains("备用054") Then  \'如果存在【备用054】列

cmd4.CommandText = "alter table {教职工信息表} add 上年档案工资 DOUBLE;" \'建立

cmd4.ExecuteNonQuery

。。。。



现在我想修改一个已经建立好的数据列的宽度,特征为文本。但下列写法没成功

\'---- 下面把数据库的【是否在职】修改宽度为4,原来宽度为2

If dt4.DataCols.Contains("是否在职") Then  \'如果存在【是否在职】列

    cmd4.CommandText = "alter table {教职工信息表} modify column 是否在职 text(4);" 

End If


我在WORD里复制一段文本过来就无法发表了,只要上传附件了。

[此贴子已经被作者于2015/5/11 14:01:45编辑过]

--  作者:Bin
--  发布时间:2015/5/11 14:02:00
--  
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR(50) NULL


--  作者:zhangchi96
--  发布时间:2015/5/11 15:41:00
--  

写成这样还是不行,请指导

cmd4.CommandText = "alter table {教职工信息表} ALTER COLUMN 是否在职 NVARCHAR(4);" 


--  作者:Bin
--  发布时间:2015/5/11 15:43:00
--  
提示什么? 你直接到SQL命令窗口执行看看
--  作者:Bin
--  发布时间:2015/5/11 15:44:00
--  
我测试可以哦.

alter table {表A} ALTER COLUMN 第一列 NVARCHAR(40)

--  作者:zhangchi96
--  发布时间:2015/5/11 16:00:00
--  
文件共享锁定数溢出。(Error 3052)
--  作者:Bin
--  发布时间:2015/5/11 16:01:00
--  
http://www.111cn.net/office/excel/51028.htm
--  作者:zhangchi96
--  发布时间:2015/5/11 16:35:00
--  

我用了如下方法,避开了溢出的问题

   1、 先添加一个【临时】列,然后把【是否在职】赋值给【临时】,再删除【是否在职】

   2、再添加【是否在职】,定义列宽,再把【临时】赋值给【是否在职】

 

 

如果只想运行一次,就需要在运行之前,检测一下列宽度,添加怎样的语句可以返回一个列的宽度值?


--  作者:zhangchi96
--  发布时间:2015/5/11 16:38:00
--  

发表发表话题的字数有限制啊,是限制多少字符啊,很不方便了!


--  作者:大红袍
--  发布时间:2015/5/11 17:02:00
--  

 你为什么不用foxtable提供的方法去做?

 

 http://www.foxtable.com/help/topics/2122.htm