2013-06-29 54 views
0

我有一个链接到XLSX文件(均存储在本地)表链接的MS Access(2010)窗体。主要形式是内置的自动更新功能,它基本上从本地中央服务器(每天自动生成)复制前端和XLSX文件的任何新版本。是否可以从主窗体上的本地XLSX文件添加修改日期/上次写入时间戳?我如何显示ms访问表格上的最后一次修改时间

我已经试过:

  1. ="Last Modified: " & DLookUp("[DateUpdate]","MSysObjects","[Name] = '***tablename***'")作为控制源然而,这并没有给我所需要的数据。

  2. 我可以通过命令(Get-ItemProperty -Path $source).LastWriteTime.tostring("dd MMM yyyy HH:mm")在powershell中获得所需的结果,但我不知道如何将结果绑定到访问表单中。有任何想法吗?

值得注意:http://msdn.microsoft.com/en-us/library/windows/desktop/ms724926%28v=vs.85%29.aspx(C++是国外对我,甚至不知道它适用于这个问题)

回答

0

FileDateTime

返回一个Variant(日期),表示该日期和时间文件 已创建或上次修改。

Dim dtLast As Date 
dtLast = FileDateTime("F:\Documents and Settings\student\Desktop\Book1.xlsx") 
Debug.Print dtLast  '29/06/2013 19:46:03 

然后可以使用Format适当地显示价值,也许将它设置为LabelCaption

Debug.Print Format(dtLast, "ddd dd mmm") 'Sat 29 Jun 

如果你想要这个信息的存取表则:

Dim obj As AccessObject, dbs As Object 

    Set dbs = Application.CurrentData 
    Set obj = dbs.AllTables("tblStaff") 
    Debug.Print obj.Name; " "; obj.DateModified; " "; obj.DateCreated 
    'tblStaff 16/04/2013 14:50:46 28/02/2010 19:46:56 
+0

感谢安迪, 我在哪里可以把代码?在'on事件'中的控件源/事件生成器或代码生成器中?我需要将结果显示在访问表单上。 ty Dim dtLast As Date dtLast = FileDateTime(“F:\ Documents and Settings \ student \ Desktop \ Book1.xlsx”) Debug.Print dtLast '29/06/2013 19:46:03 – user2535363

+0

我设法得到该工作通过添加一个包装的形式的代码: 公共功能myFileDateTime(BYVAL˚F作为字符串) myFileDateTime = FileDateTime(F) 端功能 然后改变了我的表达式: = myFileDateTime(“S:\应用\ AQMD \数据\ survey_results.csv“)。 – user2535363

相关问题