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"