snb
Verenigingslid
- Lid geworden
- 12 jun 2008
- Berichten
- 19.714
Ik wil een csv bestand inlezen met ADODB.
Het csv-bestand heeft 2 velden: tijd en waarde.
In het veld 'tijd' komen tijdstippen van waarnemingen: op de minuut precies.
Met een SQL opdracht kan ik de tijdstippen standaardiseren op uren in plaats van minuten.
Is het vervolgens mogelijk om in dezelfde SQL-opdracht de gegevens te groeperen op uur-nivo ?
Anders gezegd: kan het resultaat een overzicht opleveren van uren met de gemiddelde waarden die in veld 'waarde geregistreerd zijn ?
Omdat mijn vraag over de inrichting van de SQL-opdracht gaat, leek mij het Access-subforum geschikter voor mijn vraag dan een ander subforum.
Als bijlage een klein deel van het CSV-bestand
Deze code gebruik ik nu:
Het csv-bestand heeft 2 velden: tijd en waarde.
In het veld 'tijd' komen tijdstippen van waarnemingen: op de minuut precies.
Met een SQL opdracht kan ik de tijdstippen standaardiseren op uren in plaats van minuten.
Is het vervolgens mogelijk om in dezelfde SQL-opdracht de gegevens te groeperen op uur-nivo ?
Anders gezegd: kan het resultaat een overzicht opleveren van uren met de gemiddelde waarden die in veld 'waarde geregistreerd zijn ?
Omdat mijn vraag over de inrichting van de SQL-opdracht gaat, leek mij het Access-subforum geschikter voor mijn vraag dan een ander subforum.
Als bijlage een klein deel van het CSV-bestand
Deze code gebruik ik nu:
Code:
Sub M_snb()
c00 = ThisWorkbook.Path & "\"
c01 = "`waarnemingen.csv`"
With CreateObject("ADODB.Recordset")
.Open "SELECT int([tijd]) + hour([tijd])/24, [waarde] FROM " & c01, "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & c00, 3
Sheet1.Cells(2, 1).CopyFromRecordset .DataSource
Sheet1.Columns(2).NumberFormat = "0.00"
End With
End With