关于格式转换的问题

careerist 2003-03-12 03:36:10
我有一个数据表,要把表中所有记录读出写入文本文件,由于表中每个字段的值不一定是填满的,但是写到文本文件中时必须每个字段都要填满(不满的用前导空格填)。
表中有以下几个字段:
字段 类型 长度 备注
船编号 char 5 "1"显示为" 1","10"显示为" 10"
船期(年) char 4 如2000,2001
船期(月) char 2 如01,10,
船期(日) char 2 如01,10
船名 char 20 "abc"显示为" abc"
重量吨 char 10 如为空时,填写前导空格+“0.000”,如不为空 时,"10"显示为前导空格+"10.000"
装卸箱数 char 6 如为空时,填写前导空格+“0”,如不为空 时,"8"显示为前导空格+"8"
统计标志 char 1 如为空时,填写前导空格+“9
操作吨 char 9 格式:99999.999
日期 char 19 格式:YYYY-MM-DD HH:MM:SS
分舱艘时 char 12 格式:999999999.99
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-03-12
  • 打赏
  • 举报
回复
写个函数试试:
Function geshi(ByVal x As String, ByVal i As Integer) As String
Dim l As Integer
l = Len(x)
Select Case i
Case 1
geshi = Space(5 - l) & x
Case 2
geshi = Format(CDate(x), "yyyy")
Case 3
geshi = Format(CDate(x), "mm")
Case 4
geshi = Format(CDate(x), "dd")
Case 5
geshi = Space(20 - l) & x
Case 6
x = IIf(IsNull(x), "0.000", Format(Val(x), "0.000"))
geshi = Space(10 - Len(x)) & x
Case 7
x = IIf(IsNull(x), "0", Format(Val(x), "0"))
geshi = Space(6 - Len(x)) & x
Case 8
geshi = IIf(IsNull(x), "9", x)
Case 9
geshi = Format(Val(x), "99999999.999")
Case 10
geshi = Format(CDate(x), "YYYY-MM-DD HH:MM:SS")
Case 11
geshi = Format(Val(x), "99999.999")
End Select
End Function
lxcc 2003-03-12
  • 打赏
  • 举报
回复
for循环添加空格
空格数目=本字段最长-当前记录字段的长度
for i=1 to iCount '空格数目
strSTR=" " & strSTR
next

或者
format(strSTR," #")'#前面的空格数即为缺的数目

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧