MS Access 对象(表单、报告)显示创建或修改日期
MS Access objects (forms, reports) display created or modified date
参考这个问题:
MS Access 2013 对象(表、查询)显示创建或修改日期
马特用这个代码回答:
这是第一次成功。
如何添加到代码中以同时列出表单、报告和宏 - 并显示创建和修改日期?
使用 CurrentProject.All*
集合:AllForms
; AllReports
;和 AllMacros
。
下面是即时 window 中的示例:
for each obj in CurrentProject.AllForms : ? obj.Name, obj.DateCreated, obj.DateModified : next
frmClaims 8/11/2015 12:11:46 PM 10/6/2015 1:08:28 PM
frmInvoices 3/8/2015 5:04:24 PM 10/6/2015 1:08:28 PM
frmChoosePerson 3/28/2015 1:11:51 PM 2/28/2016 8:29:28 PM
for each obj in CurrentProject.AllReports : ? obj.Name, obj.DateCreated, obj.DateModified : next
rptPassThruQuery 3/9/2016 1:04:38 PM 3/9/2016 2:23:38 PM
rptChangeSort 7/27/2015 10:45:38 AM 10/6/2015 1:08:30 PM
for each obj in CurrentProject.AllMacros : ? obj.Name, obj.DateCreated, obj.DateModified : next
Macro2 6/17/2015 10:21:58 AM 6/17/2015 10:21:58 AM
Public Function CreatedModified()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim tdf As DAO.TableDef
Dim qdf As DAO.QueryDef
Dim strSql As String
Dim obj As AccessObject
strSql = "DELETE * FROM tblCCSObjects"
Set db = CurrentDb
db.Execute strSql, dbFailOnError
Set rs = db.OpenRecordset("tblCCSObjects")
With rs
' tables
For Each tdf In db.TableDefs
If Not (tdf.Name Like "*MSys*" Or tdf.Name Like "~*") Then
.AddNew
!ObjectType_Order = "1"
!ObjectType = "Table"
!ObjectName = tdf.Name
!DateCreated = tdf.DateCreated
!DateModified = tdf.LastUpdated
.Update
End If
Next
' queries
For Each qdf In db.QueryDefs
If Not (qdf.Name Like "*MSys*" Or qdf.Name Like "~*") Then
.AddNew
!ObjectType_Order = "2"
!ObjectType = "Query"
!ObjectName = qdf.Name
!DateCreated = qdf.DateCreated
!DateModified = qdf.LastUpdated
.Update
End If
Next
' forms
For Each obj In CurrentProject.AllForms
.AddNew
!ObjectType_Order = "3"
!ObjectType = "Forms"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
' reports
For Each obj In CurrentProject.AllReports
.AddNew
!ObjectType_Order = "4"
!ObjectType = "Reports"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
' macros
For Each obj In CurrentProject.AllMacros
.AddNew
!ObjectType_Order = "5"
!ObjectType = "Macros"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
End With
rs.Close
Set rs = Nothing
Set db = Nothing
End Function
参考这个问题:
MS Access 2013 对象(表、查询)显示创建或修改日期
马特用这个代码回答:
这是第一次成功。 如何添加到代码中以同时列出表单、报告和宏 - 并显示创建和修改日期?
使用 CurrentProject.All*
集合:AllForms
; AllReports
;和 AllMacros
。
下面是即时 window 中的示例:
for each obj in CurrentProject.AllForms : ? obj.Name, obj.DateCreated, obj.DateModified : next
frmClaims 8/11/2015 12:11:46 PM 10/6/2015 1:08:28 PM
frmInvoices 3/8/2015 5:04:24 PM 10/6/2015 1:08:28 PM
frmChoosePerson 3/28/2015 1:11:51 PM 2/28/2016 8:29:28 PM
for each obj in CurrentProject.AllReports : ? obj.Name, obj.DateCreated, obj.DateModified : next
rptPassThruQuery 3/9/2016 1:04:38 PM 3/9/2016 2:23:38 PM
rptChangeSort 7/27/2015 10:45:38 AM 10/6/2015 1:08:30 PM
for each obj in CurrentProject.AllMacros : ? obj.Name, obj.DateCreated, obj.DateModified : next
Macro2 6/17/2015 10:21:58 AM 6/17/2015 10:21:58 AM
Public Function CreatedModified()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim tdf As DAO.TableDef
Dim qdf As DAO.QueryDef
Dim strSql As String
Dim obj As AccessObject
strSql = "DELETE * FROM tblCCSObjects"
Set db = CurrentDb
db.Execute strSql, dbFailOnError
Set rs = db.OpenRecordset("tblCCSObjects")
With rs
' tables
For Each tdf In db.TableDefs
If Not (tdf.Name Like "*MSys*" Or tdf.Name Like "~*") Then
.AddNew
!ObjectType_Order = "1"
!ObjectType = "Table"
!ObjectName = tdf.Name
!DateCreated = tdf.DateCreated
!DateModified = tdf.LastUpdated
.Update
End If
Next
' queries
For Each qdf In db.QueryDefs
If Not (qdf.Name Like "*MSys*" Or qdf.Name Like "~*") Then
.AddNew
!ObjectType_Order = "2"
!ObjectType = "Query"
!ObjectName = qdf.Name
!DateCreated = qdf.DateCreated
!DateModified = qdf.LastUpdated
.Update
End If
Next
' forms
For Each obj In CurrentProject.AllForms
.AddNew
!ObjectType_Order = "3"
!ObjectType = "Forms"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
' reports
For Each obj In CurrentProject.AllReports
.AddNew
!ObjectType_Order = "4"
!ObjectType = "Reports"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
' macros
For Each obj In CurrentProject.AllMacros
.AddNew
!ObjectType_Order = "5"
!ObjectType = "Macros"
!ObjectName = obj.Name
!DateCreated = obj.DateCreated
!DateModified = obj.DateModified
.Update
Next
End With
rs.Close
Set rs = Nothing
Set db = Nothing
End Function