如何用Delpih转换日期函数? (100分)

  • 主题发起人 主题发起人 yaminboy
  • 开始时间 开始时间
Y

yaminboy

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么样将*.db中的字符"199401"转换到Access一表中"1994-1-1"的这种格式:

table2.Fields[6].AsDateTime:=query2.Fields[4].Asstring+'01'
单独转换字符字段可以通过,而日期会出错。
 
你这个问题我也有过,table2.Fields[6].AsDateTime:=query2.Fields[4].AsString+'01'
这一句等号两边的类型明显不同,试一下用TDateTime强制转换右边,或者你可以将右边的
字段转换成TDateField字段类型。另外Query.Fields[]的类型是可变的,根据具体的值而变
化,比如,是TDateTime型时,当有数据就是TDateTime,空的就是string型。
 
我知道我的那段程序中:table2.Fields[6].AsDateTime:=query2.Fields[4].AsString+'01',
这一句等号两边的类型不同。但是,等号右边我用过Variant这个函数,可是转换后的日期
已经不等于"1994-1-1"了,其他的日期函数我也试了几个都没有成功。我还是恳请诸位大侠,
怎样用日期函数来转换到Access中(因为Access的日期很特别),对Delpih的函数用法我
还不大清楚。
在此先对gks仁兄表示感谢了!???
 
用strtodate()进行字符转化为日期

先设shortdateformat:='YYYY-MM-DD';
再用strtodate('1994-01-01')即可将其转为日期类型数据,
不过你得先将'199401'先转成'1994-01-01'
 
只能一段一段截取再拼装,偶在想怎么没有人写个文本型日期控制的数据感知构件,看来只能自己做乐
 
你可以用encodedate(ayear,amonth,aday)这样的函数就可以了
举例:
ayaer,amonth,aday :word;
result:datatime;
ayaer:=1994;
aday:=1;
amonth:=1;
result:=encodedate(ayear,amonth,aday);
 
对于字符串转化为日期,可以自己编写函数。
Access中用到的日期,可以是用参数。直接穿入日期参数
 
分分了,谢谢!
 
后退
顶部