Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 如何编写宏,在表发生更改时创建文本文件?_Ms Access_Vba_Text Files - Fatal编程技术网

Ms access 如何编写宏,在表发生更改时创建文本文件?

Ms access 如何编写宏,在表发生更改时创建文本文件?,ms-access,vba,text-files,Ms Access,Vba,Text Files,我试图创建一个宏,当一个表被更改时,它将创建一个简单的文本文件到所选的路径。我一直在用VB.NET编程,但access是在vba中,我一直在做一些研究,认为我能做到。但是,如果您将代码插入到的框中,access宏编写器会使我感到困惑。有没有一种方法可以在VB.NET或使用access能够使用的Visual Studio中创建一个宏?在这种情况下,我认为您应该利用数据宏。即使在MS Access之外使用该表,这些操作也将运行。例如: 或者 Sub LogThis(strText) Const F

我试图创建一个宏,当一个表被更改时,它将创建一个简单的文本文件到所选的路径。我一直在用VB.NET编程,但access是在vba中,我一直在做一些研究,认为我能做到。但是,如果您将代码插入到的框中,access宏编写器会使我感到困惑。有没有一种方法可以在VB.NET或使用access能够使用的Visual Studio中创建一个宏?

在这种情况下,我认为您应该利用数据宏。即使在MS Access之外使用该表,这些操作也将运行。例如:

或者

Sub LogThis(strText)
Const ForAppending = 8
Dim sPath As String
Dim fs As Object
Dim ts As Object

    sPath = CurrentProject.Path

    Set fs = CreateObject("Scripting.FileSystemObject")
    If fs.FileExists(sPath & "\Log.txt") = True Then
        Set ts = fs.OpenTextFile(sPath & "\Log.txt", ForAppending)
    Else
        Set ts = fs.CreateTextFile(sPath & "\Log.txt")
    End If
    ts.WriteLine Now & " " & strText
    ts.Close
End Sub

为什么要使用宏?您是否正在使用Access 2010和?如果不是,为什么不直接使用VBA而不是宏?我使用的是2010而不是数据宏,如何在VBA中直接编码access中是否有允许此操作的工具,或者我应该在Visual Studio中直接进行此操作?您可以从菜单中选择,按alt+F11,或者从属性页中选择事件,然后从选项中选择“代码”。向事件添加代码是MS从和报告访问的主要优势。我正在查看数据宏,并使用代码隐藏添加我的功能。但是这些按钮似乎被禁用了,我不知道如何启用它们。你能编辑表格吗?你能加表格吗?您可以在设计视图中更改表格吗?您可能无法使用这些按钮的原因有很多,因此一些关于您可以执行的操作的注释可能会有所帮助。最好在按住shift键的同时打开文件,以绕过启动代码。