数据表有5个字段A,B,C,D,E,数据如下:
“----”是便于说明数据之排版另加的
---A-----------B--------C-------D----------E--------------F
20120101-123456789098--0.00---2340.00---67896543
20120201-709258216880-197.29--0.00---00098440009844
20120202-909258216880-36409.30-0.00-06264/9880800/732708用以下导出程序:
 ..........
 Dim Angle(), Array1(), Array2(), Array3(), Array4(), Array5() As Integer
 Dim i As Integer
 Open "F:\数据连接\test.txt" For Output As #1
 con.MoveFirst
 Do While Not con.EOF
  For i = 0 To con.Fields.Count - 1
                ReDim Preserve Angle(i)
                ReDim Preserve Array1(i)
                ReDim Preserve Array2(i)
                ReDim Preserve Array3(i)
                ReDim Preserve Array4(i)
                              'ReDim Preserve Array5(i)
                Angle(i) = con("jzr")
                Array1(i) = con("zh")
                Array2(i) = con("jf")
                Array3(i) = con("df")
                Array4(i) = con("djh")
                              'Array5(i) = con("rt")
                Print #1, Format(Angle(i), "@@@@@@@@") & Space(3) _
                        & Format(Array1(i), "@@@@@@@@@@@@@") & Space(0) _
                        & Format(Array2(i), "@@@@@@@@@@@@@") & Space(0) _
                        & Format(Array3(i), "@@@@@@@@@@@@@") & Space(6) _
                        & Format(Array4(i), "@@@@@@@@@@@@@@") & Space(0)   ' _
                        & Format(Array5(i), "@@@@@@@@@@@@@@")
  Next i
  con.MoveNext
  Loop
 Close #1
 End Sub
数据如下:
ABCDE列字节数分别是8,14,13,13,15
----A--------------B----------C------------D--------------E
20120101-----123456789098---------0.00------2340.00---67896543   (1)
20120101-----123456789098---------0.00------2340.00---67896543      (2)
20120101-----123456789098---------0.00------2340.00---67896543      (3)
20120101-----123456789098---------0.00------2340.00---67896543      (4)
20120101-----123456789098---------0.00------2340.00---67896543      (5)
20120101-----123456789098---------0.00------2340.00---67896543      (6)
20120202-----709258216880-------197.29---------0.00---00098440009844
20120202-----709258216880-------197.29---------0.00---00098440009844
20120202-----709258216880-------197.29---------0.00---00098440009844
20120202-----709258216880-------197.29---------0.00---00098440009844
20120202-----709258216880-------197.29---------0.00---00098440009844
20120202-----709258216880-------197.29---------0.00---00098440009844
问题一:导出的是随字段个数而重叠
问题二:A,B,C,D列能右对齐,E列则是左对齐
问题三:如要导出F列,则会报错“实时错误’9’:下标越界”
以上问题请高手指教,我是新手没分见谅,谢谢!

解决方案 »

  1.   

    你的代码 简单看了下 我只能简单说下 你的问题点的 简单处理 问题1.ReDim Preserve Angle(i) 这个方法性能很差的 为什么不能一次设置那 
    直接获取 con.recordcount 可以返回记录集的个数问题2 输出格式 左对齐 右对齐的处理 。 string 类型 可以强制 指定记录集长度  
    String a *10  这种字符串 是按照固定长度保存的 。这个就是左对齐   
    右对齐的话 就是判断 字符串长度 然后加上空格就好了 
      

  2.   

    本帖最后由 bcrun 于 2012-06-21 10:23:09 编辑