Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在文本文件或excel中列出所有access表_Ms Access - Fatal编程技术网

Ms access 在文本文件或excel中列出所有access表

Ms access 在文本文件或excel中列出所有access表,ms-access,Ms Access,我有代码可以列出表名,如何将其导出到文本文件 For Each tbl In db.TableDefs If Left$(tbl.Name, 4) <> "MSys" Then Debug.Print tbl.Name & " " & tbl.DateCreated & " " & _ tbl.LastUpdated & " " & tbl.RecordCount db.TableDefs

我有代码可以列出表名,如何将其导出到文本文件

 For Each tbl In db.TableDefs
 If Left$(tbl.Name, 4) <> "MSys" Then
   Debug.Print tbl.Name & "      " & tbl.DateCreated & "      " & _
    tbl.LastUpdated & "     " & tbl.RecordCount
db.TableDefs中每个tbl的

如果左$(tbl.Name,4)“MSys”,则
Debug.Print tbl.Name&&&tbl.DateCreated&&_
tbl.LastUpdated&&&tbl.RecordCount

您可以使用简单的文件I/O写入文本文件。MSDN:

以下是该页面中的示例:

Open "TESTFILE" For Output As #1    ' Open file for output.
Write #1, "Hello World", 234    ' Write comma-delimited data.
Write #1,    ' Write blank line.

Dim MyBool, MyDate, MyNull, MyError
' Assign Boolean, Date, Null, and Error values.
MyBool = False: MyDate = #2/12/1969#: MyNull = Null
MyError = CVErr(32767)
' Boolean data is written as #TRUE# or #FALSE#. Date literals are
' written in universal date format, for example, #1994-07-13#
 'represents July 13, 1994. Null data is written as #NULL#.
' Error data is written as #ERROR errorcode#.
Write #1, MyBool; " is a Boolean value"
Write #1, MyDate; " is a date"
Write #1, MyNull; " is a null value"
Write #1, MyError; " is an error value"
Close #1    ' Close file.
将文件名和扩展名更改为,例如,“C:\SomeFolder\myfile.txt”


还有其他更复杂的方法可以做到这一点,包括使用David提供的链接中所示的
FileSystemObject

请参阅MSDN关于如何创建文本文件的文章:

根据您的需要稍微修改,您必须调整它以定义
db
TableDefs
等:

Sub CreateAfile
    Dim fs as Object, a as Object
    Dim lineText as String
    #Create and open text file for writing:
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\testfile.txt", True)
    '#Iterate over your TableDefs
    For Each tbl In db.TableDefs
         If Left$(tbl.Name, 4) <> "MSys" Then
              lineText = tbl.Name & "      " & tbl.DateCreated & "      " & _
              tbl.LastUpdated & "     " & tbl.RecordCount

              '# Adds a line to the text file
              a.WriteLine(lineText)
         End If
    Next
    '#Close the textfile
    a.Close
End Sub
子创建文件
将fs设置为对象,将a设置为对象
将线条文本变暗为字符串
#创建并打开要写入的文本文件:
设置fs=CreateObject(“Scripting.FileSystemObject”)
设置a=fs.CreateTextFile(“c:\testfile.txt”,True)
“#反复浏览您的TableDefs
对于db.TableDefs中的每个tbl
如果左$(tbl.Name,4)“MSys”,则
lineText=tbl.Name&&&tbl.DateCreated&&_
tbl.LastUpdated&&&tbl.RecordCount
“#在文本文件中添加一行
a、 WriteLine(行文本)
如果结束
下一个
“#关闭文本文件
a、 接近
端接头

这将作为直接复制/粘贴。只需将输出文件名更改为您想要的任何名称。它将逐行输出您请求的元数据到a.txt

  Dim db As DAO.Database
  Set db = CurrentDb


  Dim filename As String
  filename = "C:\Users\Scotch\Desktop\now\t.txt"     'add your file name here
  Const ForReading = 1, ForWriting = 2, ForAppending = 3
  Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
  Dim fs, f, ts, s
  Set fs = CreateObject("Scripting.FileSystemObject")
  fs.CreateTextFile filename 'Create a file
  Set f = fs.GetFile(filename)
  Set ts = f.OpenAsTextStream(ForWriting, TristateUseDefault)



   For Each tbl In db.TableDefs
         If Left$(tbl.name, 4) <> "MSys" Then
           ts.Write tbl.name & "      " & tbl.DateCreated & "      " & _
           tbl.LastUpdated & "     " & tbl.RecordCount & vbNewLine
         End If

    Next
    ts.Close
Dim db作为DAO.Database
Set db=CurrentDb
将文件名设置为字符串
filename=“C:\Users\Scotch\Desktop\now\t.txt”'在此处添加您的文件名
读取常数=1,写入常数=2,外观常数=3
常量TristateUseDefault=-2,TristateTrue=-1,TristateFalse=0
尺寸fs、f、ts、s
设置fs=CreateObject(“Scripting.FileSystemObject”)
fs.CreateTextFile文件名“创建文件”
Set f=fs.GetFile(文件名)
设置ts=f.OpenAsTextStream(用于写入,三态使用默认值)
对于db.TableDefs中的每个tbl
如果左$(tbl.name,4)“MSys”,则
ts.写入tbl.name&&&tbl.DateCreated&&_
tbl.LastUpdated&“”&tbl.RecordCount&vbNewLine
如果结束
下一个
关闭