如何在VB中导出access表文件为txt文件

arenyu 2005-05-14 06:53:14
菜鸟一问题:

access表文件要导出为txt文件,字段间用“||”(两条竖杠)间隔。

还有,在导出一张表之后紧接着要导出其他的几张表,这些表没有任何关系,字段、格式不相同,要求导出到同一个txt文件中,各位看看怎么弄!?

谢了先!
...全文
212 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
online 2005-05-14
  • 打赏
  • 举报
回复
自己慢慢看吧


Option Explicit
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset

Private Sub cmdExport_Click()
Dim fnum 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

On Error GoTo MiscError

'打开输出文件
fnum = FreeFile
file_name = App.Path & "\books.txt"
Open file_name For Output As fnum

Set rs = New ADODB.Recordset
rs.Open "SELECT EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,BirthDate,HireDate FROM employees ", conn, adOpenDynamic, adLockPessimistic

num_fields = rs.Fields.Count
ReDim field_width(0 To num_fields - 1)
For i = 0 To num_fields - 1
field_width(i) = rs.Fields(i).DefinedSize
If field_width(i) < Len(rs.Fields(i).Name) Then
field_width(i) = Len(rs.Fields(i).Name)
End If
field_width(i) = field_width(i) + 1
Print #fnum, rs.Fields(i).Name;
Print #fnum, Space(field_width(i) - Len(rs.Fields(i).Name));
Next i
Print #fnum, ""

Do While Not rs.EOF
num_processed = num_processed + 1
For i = 0 To num_fields - 1
field_value = rs.Fields(i).Value & ""
Print #fnum, field_value & Space(field_width(i) - Len(field_value));
Next i
Print #fnum, ""
rs.MoveNext
Loop

rs.Close
Close fnum
MsgBox "成功导出了 " & Format(num_processed) & " 条记录."
conn.Close
Exit Sub

MiscError:
MsgBox "Error " & Err.Number & vbCrLf & Err.Description
End Sub
Private Sub Form_Load()
Set conn = New ADODB.Connection
conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=yang"

End Sub


1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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