以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问:字符型日期如何转换为正常的日期格式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109293) |
||||||||
-- 作者:wangwang106 -- 发布时间:2017/11/8 21:21:00 -- 请问:字符型日期如何转换为正常的日期格式 此主题相关图片如下:表b.jpg 各位老师好,有个问题即便查了帮助后,也实在是解决不了,请帮忙,谢谢! 将两个表分别导入foxtable后,日期列都变成了字符串格式。一个表日期列变成“20171002”,另一个表变成“43009” 尝试着Format、CDate两个函数均未成功: 1、Format(str,"yyyy-MM-dd") 2、CDate(str) 分别提示错误:从字符串“yyyy-MM-dd”到类型“Date”的转换无效。 从字符串“43009”到类型“Date”的转换无效。 具体情况见图片。
|
||||||||
-- 作者:有点甜 -- 发布时间:2017/11/8 21:36:00 -- 你用什么方式导入数据的?用代码?贴出代码。
尽量做一个例子发上来测试。
|
||||||||
-- 作者:wangwang106 -- 发布时间:2017/11/9 7:58:00 -- 用代码导入的:Syscmd.Project.QuickImport() 导入后,通过ADOXBuilder对表列名进行了修改,并用 “表A.DataRows(0).Delete() ”删除了前面没有的行。 由于导入后表前几行是文字,所以系统就按字符格式将“日期”转换为字符了。 可我又不想每次都通过手工方式在Excel中修改表格式,想通过在foxtable中设置代码,一劳永逸。 多谢指导!!! ’修改列名 Dim Builder As New ADOXBuilder Builder.Open() With Builder.Tables(e.Form.Controls("Label_TableName6").Text) .RenameColumn(表A.DataCols(0).name,"日期") 。。。。 \'删除前4行 Dim i As Integer = 0 Do While i <= 3 表A.DataRows(0).Delete() i = i + 1 Loop 导入的原表如下:
|
||||||||
-- 作者:wangwang106 -- 发布时间:2017/11/9 8:35:00 -- 原帖中的导入前、导入后的表格粘贴错位了,以下面的图片为准,抱歉!
此主题相关图片如下:表a.jpg 此主题相关图片如下:表b.jpg |
||||||||
-- 作者:有点甜 -- 发布时间:2017/11/9 8:37:00 -- 方法一:你可以用vba先处理excel文件,为正常的文件,再导入
http://www.foxtable.com/webhelp/scr/2121.htm
方法二:导入以后,对日期里进行处理,即可,比如
Dim str As String = "2017/10/1" |
||||||||
-- 作者:wangwang106 -- 发布时间:2017/11/9 8:47:00 -- 多谢有点甜版主,按照你的指导,我先研究一下。 |