Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

按字段的实际长度写入文本,字段值不够长的补空格,每个字段之间留一个空格

时 间:2007-10-15 12:48:54
作 者:flashasp   ID:70  城市:闵行
摘 要:按字段的实际长度写入文本,字段值不够长的补空格,每个字段之间留一个空格
正 文:

按字段的实际长度写入文本,字段值不够长的补空格,每个字段之间留一个空格

'要求:按字段的实际长度写入文本,字段值不够长的补空格,每个字段之间留一个空格 '作者:    flashasp
'创建时间:2005-01-18
'表结构:   flashasp

'=======================================================================================
1 bz_code varchar 20 1
0 czrq varchar 10 1
0 zy_num varchar 4 1
0 jsdh varchar 20 1
0 keshi varchar 40 1
0 class varchar 1 1
0 code varchar 20 1
0 unit varchar 40 1
0 kong varchar 1 1
0 num varchar 10 1
0 price varchar 10 1
0 dept_name varchar 40 1
0 doctor varchar 10 1
0 fsrq varchar 10 1

'========================================================================================
SQL_text="select * from miHospTemp" '输出结果

'NULL    2005-01-12    2      1333     内科    NULL NULL   NULL       NULL    NULL    NULL    NULL    NULL       NULL
'NULL    NULL          NULL   NULL      NULL    1          胆囊切除术          1      280     内科      carina   2005-01-12
'NULL    NULL          NULL   NULL      NULL    1          甲状腺切除术        1      500     内科      boy      2005-01-12
'========================================================================================
'下面是实现方法:
========================================================================================

Dim fnum, J, K, l_Width As Integer
Dim file_name As String
Dim num_fields As Integer
Dim field_width() As Integer
Dim field_value As String
Dim i As Integer
Dim num_processed As Integer


fnum = FreeFile
file_name = "c:\miHospTemp.dat"
Open file_name For Output As fnum
   
Set rs = cn.Execute(SQL_text)

num_fields = rs.Fields.Count

   
'按字段的实际长度写入文本,每个字段之间留一个空格
   '======================================================================================
Do While Not rs.EOF
        num_processed = num_processed + 1
        
        If num_processed = 1 Then '先写第一行的记录,前5个字段
        J = 0
        K = 4
        Else '
        J = 5
        K = num_fields - 1 '再写第一行后的N行记录,后9个字段
        End If
        
        For i = J To K
            field_value = rs.Fields(i).Value & "" '加一个& ""为了避免字段NULL的错误
            
            If i = 4 or i = K Then
            l_Width = rs.Fields(i).DefinedSize '最后一个字段不要空格(即第4个和第14个字段)
            Else<


Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助