Office中国论坛/Access中国论坛

标题: [求助]关于格式为20040404转化为日期格式的求助 [打印本页]

作者: zzcm    时间: 2005-4-26 00:47
标题: [求助]关于格式为20040404转化为日期格式的求助
我的数据库的表中有一个字段为文本,格式是20050404。我想把这个格式转换为日期格式,请问有什么好办法吗?直接在表的设计视图中转换为日期格式会把这个字段全部删除。

我的这个表是从文本文件中导入进来的,是否可以在导入时候就将20050404这个字段直接转换为日期格式啊?

在线等好心人帮忙解答,不胜感激!!
作者: akibo    时间: 2005-4-27 04:05
Function 日期转换(riqi As String) As Date
   日期转换 = DateSerial(Left(riqi, 4), Mid(riqi, 5, 2), Right(riqi, 2))
End Function



刚刚学到的![em01]
作者: akibo    时间: 2005-4-27 04:06









针对问题:是否可以在导入时候就将20050404这个字段直接转换为日期格式啊?

我写了一段,你看看是否可以?

————————————————————————
几点说明:

1、

文本文件中日期的格式请使用  ????-??-??

否则提示:导入类型不匹配,导出失败


2、确保文本文件中列的名称(日期和地址)和表中字段的名称(日期和地址)相同,列顺序可以不一样

因为代码中hasfieldnames 参数被设为 True (-1),在导入、导出或链接时,将使用文本文件中的第一行做为字段名。


3、确保表中数据类型和文本中对应列的数据类型要一致,特别是日期


4、文本中的逗号分隔符不可缺少,否则提示类型不匹配


'————————————————————————

代码如下:Private Sub 命令7_Click()

'首先取得表中现有记录的条数
Dim a As Integer
a = DCount("地址", "date")
'*********************

If Dir(CurrentProject.Path & "\" & "date.txt") <> "" Then

On Error GoTo 命令7_Err

   DoCmd.TransferText acImportDelim, "", "date", CurrentProject.Path & "\" & "date.txt", True, ""


    Me.Requery
   
'*********************
'更新后重新取得表中现有记录的条数,和更新前的数据条数比较 _
  来判断记录是否更新成功
    If a <> DCount("地址", "date") Then

MsgBox "数据已更新,总记录数发生改变" + Chr(13) + "由" & a & "增加到" & DCount("地址", "date")

Else

MsgBox "数据更新失败"
End If
'*********************


命令7_Exit:
    Exit Sub

命令7_Err:
   ' MsgBox Error$
   MsgBox "数据类型不匹配等错误", , "导入失败"
      
    Resume 命令7_Exit
   
   
    Else
   
    MsgBox "文本文件date.txt不存在"
   
    End If
      
    End Sub

————————————————————————
作者: spook_hui    时间: 2005-9-11 05:26
不能用CDATE(REPLACE(“日期”“”“”“-”))吗?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3