设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: fang123
打印 上一主题 下一主题

[Access本身] [已解决]如何自动设置适当的字段长度

[复制链接]
11#
发表于 2008-3-27 14:51:10 | 只看该作者
txt 的文件我没导过,但EXCLE的文件,我导入前,先在数据库内建一个表,对哪些字段大于255的,我是把它设置成备注型的。
12#
 楼主| 发表于 2008-3-27 15:13:59 | 只看该作者
那对于那些小于255的如何设置到最合理的长度?
13#
发表于 2008-3-27 15:57:00 | 只看该作者
原帖由 fang123 于 2008-3-27 15:13 发表
那对于那些小于255的如何设置到最合理的长度?

保险起见,建议设置成255
14#
 楼主| 发表于 2008-3-27 16:42:37 | 只看该作者
但这样的话,要是转成DBF格式的话,容量就会变得很大..这是一个困扰我很多年的问题...郁闷中...谢谢!
15#
发表于 2008-3-27 17:00:24 | 只看该作者
你别讲一半留一半,这个问题解决了或解决了一部分,又冒出另一个问题,这样谁吃得消???有问题一步到位,说清楚。
16#
 楼主| 发表于 2008-3-28 07:42:31 | 只看该作者
谢谢huangqinyong的提醒.记住了.
17#
发表于 2008-3-28 13:45:42 | 只看该作者
讲点我的想法:先将数据导入,导入新表也好,导入旧表也好(说错了,旧表应该设置了字段宽度的).
导入后用dmax("len(trim(字段名称))", "表名称")计算字段值的长度,其中的字段名称你可以设置一个变量,用以循环所有字段,将结果保存在一个数组中.
再用SQL语句修改表的结构,OK!
18#
 楼主| 发表于 2008-3-28 17:17:59 | 只看该作者
谢谢kangking,提一个太过份的请求:能不能帮我用一个实例演示一下,非常谢谢!
19#
发表于 2008-3-28 21:03:59 | 只看该作者
原帖由 fang123 于 2008-3-28 17:17 发表
谢谢kangking,提一个太过份的请求:能不能帮我用一个实例演示一下,非常谢谢!


Public Sub fitSize()
Dim a()
Dim i As Integer
Dim j As Integer
Dim rs As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb
Set rs = db.OpenRecordset("w1")
j = rs.Fields.Count
ReDim a(j, 2)
For i = 0 To j - 1
    a(i, 1) = rs.Fields(i).Name
    a(i, 2) = DMax("len(trim(" & rs.Fields(i).Name & "))", "w1")
Next
rs.Close
Set rs = Nothing
For i = 1 To j - 1
    db.Execute "alter table w1 alter column " & a(i, 1) & " char(" & a(i, 2) & ")"
Next

End Sub
20#
 楼主| 发表于 2008-3-28 22:29:05 | 只看该作者
再次谢谢kangking的帮助,又快又准.要浪费您宝贵的时间真的很抱歉,终于解决了心头中的困惑.向您学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-1 19:55 , Processed in 0.131638 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表