|
本帖最后由 lemon2929 于 2012-12-6 15:25 编辑
以下是从sybase11中查询的语句
select rpt_date,mach_no,bogie_len,pt_break,trans_break,setup_break from sfoc_mach_summ where rpt_date>='20080101'
结果中的几行数据
20080101 341 1258962 3 2 2
20080101 342 408842 1 1 3
20080101 343 1250800 1 0 1
20080101 344 1167211 3 0 4
然后我用vba写了查询语句,结果显示在excel中
20080101 341 1258962 3 2 2
20080101 342 408842 1 1 3
20080101 343 12508 1 0 1
20080101 344 1167211 3 0 4
发现竟然第三行的长度少了00, 检查excel的单元格格式完全一致.不知道大家有没有碰到这种情况,是数据库的问题,还是我的查询语句本身有问题?
VBA查询代码如下:
Set WSD = Sheets("break")
'*********************************************************************************************
'首先引用Microsoft Activex Data Objects 2.x Library
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strConn As String
Dim s As Integer 's 为记录的总行数
strConn = "driver={sybase system 11};srvr=sybprd;uid=jamweb;pwd=jamweb;"
con.Open strConn
rs.Open "select rpt_date,mach_no,bogie_len,pt_break,trans_break,setup_break from sfoc_mach_summ where rpt_date>='20080101'", con, 3, 1 '这部分的查询语句与sybase中的查询完全一致
i = 0
Do While Not rs.EOF
i = i + 1
WSD.cells(i, 1) = rs.Fields(0)
WSD.cells(i, 2) = rs.Fields(1)
WSD.cells(i, 3) = rs.Fields(2)
WSD.cells(i, 4) = rs.Fields(3)
WSD.cells(i, 5) = rs.Fields(4)
WSD.cells(i, 6) = rs.Fields(5)
rs.MoveNext
Loop
s = i 's-记录总行数
Set rs = Nothing
Set con = Nothing
|
|