Seseorang dapat membantu saya untuk memahami mengapa, ketika saya menjalankan kode ini saya mengambil hasil yang salah (tabel sampel adalah ekstrak dari 25K recod) setiap kali ketika dalam rentang data kami memiliki catatan dengan Kpi1-2 > 24H.

enter image description here

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")

DBPath = ThisWorkbook.FullName
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & ThisWorkbook.FullName & ";" & _
        "Extended Properties=""Excel 8.0;HDR=Yes;"";"    

Strsql:Select [DataAttesa] as Data, avg([Kpi1-2]) as nr FROM [db_In$] Where TypeTrasp  = 'STD' and [1-2_ESITO] in ('90%','100%','Out of Time','On Going') group by [DataAttesa] Order by [DataAttesa]asc

    objRecordset.Open strsql, objConnection, adOpenStatic, adLockReadOnly, adCmdUnspecified
       Do Until objRecordset.EOF
         debug.print objRecordset.Fields.item("nr")
         objRecordset.MoveNext
      Loop
    objRecordset.Close

PEMBARUAN: Saya menguji kode ini:

debug.print objRecordset.Fields.item("nr")
in the immediate windows I see: 21/01/1900  11:41:00
if I test tu put the result into a cell:

Cells(20, 7) = objRecordset.Fields.item("nr") 
the cells.value will be 22/01/1900  11:41:25
Cells(21, 7) = Format(objRecordset.Fields.item("nr"), "dd/mm/yyyy hh:mm;@")
the cells.value will be 21/01/1900  11:41:25

Hanya yang kedua itu benar. Mengapa?!?! apa ditambahkan?!?

0
Fabrizio 11 Maret 2019, 13:14

1 menjawab

Jawaban Terbaik

Solusi untuk masalah ini dibahas dalam posting ini: Tampilan perbedaan waktu dari Excel ke VBA

Saya memasukkan tautan jika itu dapat membantu pengguna lain

Fabrizio

0
Fabrizio 15 Maret 2019, 15:30