Дата модификации формы из VBA

DennniLA2

Здравствуйте, Гуру!Разрабатываю БД для себя, наскоками, когда есть время. Хранится она на работе и дома (файл с формами). Но иногда забываю, что что-то правил. Возникла мысль сделать таблицу: ИмяФормы/ДатаМодификации. Но программно не могу получить адекватный доступ к дате модификации файла.Подскажите плз, как ГРАМОТНО получать дату модификации. Именно ту, что отображается в свойствах формы.Заранее спасибо!
8 ответов

DennniLA2

Private Sub DModif()
Dim f As Object
For Each f In CurrentProject.AllForms
 Debug.Print f.Name, f.DateModified
Next f
End Sub


DennniLA2

Guest33, Большое спасибо, сразу полегчало!


DennniLA2

а подскажите еще плз, как смотреть в другую БД


DennniLA2

Как лучше, не знаю, но можно, например, так:
Sub DateModif2()
Dim p As Object
Dim f As Object

Set p = New Access.Application
p.OpenCurrentDatabase "E:\Documents and Settings\Me1\Мои документы\dbf.mdb"

For Each f In p.CurrentProject.AllForms
 Debug.Print f.Name, f.DateModified
Next f

Set f = Nothing

p.CloseCurrentDatabase
Set p = Nothing

End Sub


DennniLA2

Guest33, и снова БОЛЬШОЕ СПАСИБО!!!


DennniLA2

для отчетов тоже проходит такой метод, а вот с запросами и таблицами выдает ошибку: "Object doesn`t support this property or method"мой код:
Public Sub FormChanch(srtPath As String, strName As String, strTblName As String)
Dim p As Object
Dim f As Object
 DoCmd.RunSQL "DELETE FROM " & strTblName
 Set p = New Access.Application
 p.OpenCurrentDatabase srtPath + strName
 
 Select Case strColl
 Case "allTables"
 For Each f In p.CurrentProject.AllTables
 DoCmd.RunSQL "INSERT INTO " & strTblName & "( FormName, DataModif ) VALUES ('" & f.Name & "', '" & f.DateModified & "');"
 Next f
 Case "allForms"
 For Each f In p.CurrentProject.AllForms
 DoCmd.RunSQL "INSERT INTO " & strTblName & "( FormName, DataModif ) VALUES ('" & f.Name & "', '" & f.DateModified & "');"
 Next f
 Case "allReports"
 For Each f In p.CurrentProject.AllReports
 DoCmd.RunSQL "INSERT INTO " & strTblName & "( FormName, DataModif ) VALUES ('" & f.Name & "', '" & f.DateModified & "');"
 Next f
 Case "allQueries"
 For Each f In p.CurrentProject.AllQueries
 DoCmd.RunSQL "INSERT INTO " & strTblName & "( FormName, DataModif ) VALUES ('" & f.Name & "', '" & f.DateModified & "');"
 Next f
 End Select
 
 Set f = Nothing
 p.CloseCurrentDatabase
 Set p = Nothing
End Sub
подскажите плз, в чем я не прав =)


DennniLA2

DennniLA2,для таблиц и запросов вместо CurrentProject используйте CurrentData


DennniLA2

mds_world, большое спасибо!