访问 DateTime 字段更新内容
Access DateTime field Update contents
我在 Access 2010 数据库中有一个 table,其中 2 列是日期时间。
导入 excel 文件后,我得到
02:55:00
00:50:00
等等
唯一的问题是数据应该看起来像
00:02:55
00:00:50
等等
我无法更改访问文件中的字段,因为稍后另一个进程依赖于此结构。
excel 中的格式也无法更改,列为自定义 - [m]:ss
我想知道有没有一种方法可以使用 VBA 检查字段然后更新。也许转换为文本然后操作并转换回来并更新。
抱歉,我想到了这个,这似乎可行,但不确定是否是最佳方法。
Sub FixTime()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Table1")
rs.MoveFirst
Do While Not rs.EOF
If Not IsNull(rs!test) Then
a = CStr(rs!test)
b = "00:" & Mid(a, 1, 5)
c = CDate(b)
rs.Edit
rs!test = c
rs.Update
End If
rs.MoveNext
Loop
rs.Close
End Sub
很简单的方法就是更新:
Update YourTable
Set TimeField = TimeField / 60
最好不要导入 link Excel 数据。然后使用 linked table 作为查询中的源,根据需要转换数据。
现在,使用此查询进一步 processing/import。
我在 Access 2010 数据库中有一个 table,其中 2 列是日期时间。
导入 excel 文件后,我得到
02:55:00
00:50:00 等等
唯一的问题是数据应该看起来像
00:02:55
00:00:50 等等
我无法更改访问文件中的字段,因为稍后另一个进程依赖于此结构。
excel 中的格式也无法更改,列为自定义 - [m]:ss
我想知道有没有一种方法可以使用 VBA 检查字段然后更新。也许转换为文本然后操作并转换回来并更新。
抱歉,我想到了这个,这似乎可行,但不确定是否是最佳方法。
Sub FixTime()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Table1")
rs.MoveFirst
Do While Not rs.EOF
If Not IsNull(rs!test) Then
a = CStr(rs!test)
b = "00:" & Mid(a, 1, 5)
c = CDate(b)
rs.Edit
rs!test = c
rs.Update
End If
rs.MoveNext
Loop
rs.Close
End Sub
很简单的方法就是更新:
Update YourTable
Set TimeField = TimeField / 60
最好不要导入 link Excel 数据。然后使用 linked table 作为查询中的源,根据需要转换数据。
现在,使用此查询进一步 processing/import。