从access里面调出来的日期时间,是这样的:第一个是2005/01/01,第二个是12:00,
可是我print在窗体里出来的结果第一个是个五位数,第二个是0.5 .我想象原来的格式一样,即2005/01/01,12:00,怎么才能正确显示呢?谢谢大家了.

解决方案 »

  1.   

    把你print的代码贴出来看看..
    这种情况没有遇到过...
    不会是把日期全部转换为天数了吧..
      

  2.   

    formatdatetime(#2004/01/01 12:00#,vbGeneralDate)
      

  3.   

    是的,比如时间6:00就变成0.25;12:00就变成0.5。我的原来的代码如下:'*****************************定义为单精度*******************************
    Dim DbArr() As Single
    dim edate() as Single
    dim etime() as SinglePrivate Sub form_Click()    Dim Rs As New ADODB.Recordset
        Dim Connstr As String    Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=database.mdb;"
        Rs.CursorType = adOpenStatic'*****************调用Access数据(分别为日期和时间,格式如:2004/1/1,10:00)*******
        Rs.Open "select * from shijian", Connstr
        Dim RecField As Integer    RecNum = Rs.RecordCount - 1
        RecField = Rs.Fields.Count - 1
        
        ReDim DbArr(RecNum, RecField) As Single
        Dim i As Integer
        Dim j As Integer    For i = 0 To RecNum
            For j = 0 To RecField
                DbArr(i, j) = Rs.Fields(j).Value
            Next j
            Rs.MoveNext
        Next i    ReDim edate(RecNum) As Single
        ReDim etime(RecNum) As Single'*****************************打印到窗体里*******************************
        For i = 0 To RecNum       
            edate(i) = DbArr(i, 0)
            etime(i) = DbArr(i, 1)
            print edate(i);etime(i)
        Next i
    End Sub不过当我把上述数组变量都定义为String类型时,问题就解决了。(只是不知道这样有没有隐患,因为,我还有其它数据在里面,比如,温度,辐射等数据,我想用来计算呢,都改成String类型不会产生错误吧)我待会再用wumylove1234(毁于随)的函数试试看。