Foxtable(狐表)用户栏目专家坐堂 → 请问:字符型日期如何转换为正常的日期格式


  共有2089人关注过本帖树形打印复制链接

主题:请问:字符型日期如何转换为正常的日期格式

帅哥哟,离线,有人找我吗?
wangwang106
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:10 积分:162 威望:0 精华:0 注册:2017/2/12 18:46:00
请问:字符型日期如何转换为正常的日期格式  发帖心情 Post By: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”的转换无效。

具体情况见图片。
我想将字符型日期转换为正常的日期格式,请问如何解决,谢谢!!!
图片点击可在新窗口打开查看此主题相关图片如下:表a.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/8 21:36:00 [只看该作者]

你用什么方式导入数据的?用代码?贴出代码。

 

尽量做一个例子发上来测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
wangwang106
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:10 积分:162 威望:0 精华:0 注册:2017/2/12 18:46:00
  发帖心情 Post By: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

导入的原表如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表a.xlsx
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表b.xlsx







 回到顶部
帅哥哟,离线,有人找我吗?
wangwang106
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:10 积分:162 威望:0 精华:0 注册:2017/2/12 18:46:00
  发帖心情 Post By:2017/11/9 8:35:00 [只看该作者]

原帖中的导入前、导入后的表格粘贴错位了,以下面的图片为准,抱歉!

 


图片点击可在新窗口打开查看此主题相关图片如下:表a.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:表b.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/9 8:37:00 [只看该作者]

方法一:你可以用vba先处理excel文件,为正常的文件,再导入

 

http://www.foxtable.com/webhelp/scr/2121.htm

 

方法二:导入以后,对日期里进行处理,即可,比如

 

Dim str As String = "2017/10/1"
Dim ary() As String = str.split("/")
Dim d As Date = new Date(ary(0), ary(1), ary(2))
msgbox(d)


 回到顶部
帅哥哟,离线,有人找我吗?
wangwang106
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:10 积分:162 威望:0 精华:0 注册:2017/2/12 18:46:00
  发帖心情 Post By:2017/11/9 8:47:00 [只看该作者]

多谢有点甜版主,按照你的指导,我先研究一下。图片点击可在新窗口打开查看

 回到顶部