首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

导入的一个列既有字符型又有日期型,该咋办?(有代码),该怎么解决

2012-01-31 
导入的一个列既有字符型又有日期型,该咋办?(有代码)还是刚才那代码,这是用ADO把Excel导入追加到Access的代

导入的一个列既有字符型又有日期型,该咋办?(有代码)
还是刚才那代码,这是用ADO把Excel导入追加到Access的代码,连接之前的语句就省略不写了,下面是连接之后的 

xlsrs.Open "select * from [Sheet1$]", xlsconn, 3, 1 

Dim i As Integer 
Dim a_name As String 
Dim a_point As String 
Dim a_day As String 

i = 1 
Do While Not xlsrs.EOF 
a_name = xlsrs("名字") 
a_point = xlsrs("点数") 
a_day = xlsrs("日子") 
   
Dim sql As String 
sql = "insert into everyday(名字,点数,日子) Values('" & a_name & "','" & a_point & "','" & a_day & "')" 
conn.Execute sql 

i = i + 1 
xlsrs.MoveNext 
Loop



如果EXCEL文件中“日子”这一列有“2010-01-17”和“today”这样的数据,这就麻烦了,如果把 a_day 设成 String(如红色字体的代码),“2010-01-17”导进去后就会变成“40195”,而如果把 a_day 设成 date ,就会出错,因为“today”不是 date 类型,该咋办呢

[解决办法]
呵...日期型态我说了 我没转过, 但只要 .xls是日期型态 Access对应的字段也是日期型态, 应该是可以直接转的, 你试看在那个字段转换时 加上Format, yyyy-mm-dd 

With objWorksheet
.Select
intRows = .UsedRange.Rows.Count
intCols = .UsedRange.Columns.Count
End With


'将Excel写入Access
Screen.MousePointer = vbHourglass
For intCnt = 2 To intRows
With Rs
.AddNew
For i = 1 To Rs.Fields.Count - 1
.Fields(i) = objWorksheet.Cells(intCnt, i)
'这里加上 If i=日期字段号 加上Format涵数
Next
.Update
End With
Next
Screen.MousePointer = vbDefault
MsgBox Me.cboAccess.Text & "导入数据库完毕!", vbOKOnly, "提示"

热点排行