Avatar billede curriculum Nybegynder
13. september 2005 - 15:36 Der er 14 kommentarer

Access dato udtræk

Jeg er lidt rundtosset af hentning af data i en måned.
Jeg vil lave et udtræk fra min Access database, hvor jeg vil loope igennem et år, og for hvert år trækker jeg SUM(tal) af alle database rækkerne i den givne måned.

Date = Dato og klokkeslæt
Term, Trs, Trf = tal

Her er koden so far..

Dim CurrentDate, NextDate As Date
Dim sSQL As String = ""

CurrentDate = "01-" & i & "-" & iYear
CurrentDate = CurrentDate.ToString("dd-MM-yyyy")
NextDate = CurrentDate.AddMonths(1).ToString("dd-MM-yyyy")

sSQL = "SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE Date BETWEEN #" & CurrentDate & "# AND #" & NextDate & "#"

Den vil bare ikke hente rigtig data ud. Hvad gøre jeg forkert ?
Avatar billede capaj Nybegynder
13. september 2005 - 15:42 #1
forsøg evt. at (string) formatere din datoer efter:
mm/dd-yyyy
istedet for dd-mmm-yyyy

/capaj
Avatar billede capaj Nybegynder
13. september 2005 - 15:43 #2
CurrentDate = CurrentDate.ToString("mm/dd-yyyy")
NextDate = CurrentDate.AddMonths(1).ToString("mm/dd-yyyy")
Avatar billede curriculum Nybegynder
13. september 2005 - 16:02 #3
Nej den giver heller ikke det rigtige resultat.
Avatar billede capaj Nybegynder
13. september 2005 - 16:09 #4
Kommer der ingen data ud eller de forkeret data ud eller er det en fejlmeddelse?
Avatar billede curriculum Nybegynder
13. september 2005 - 16:16 #5
Der kommer nogen data (forkert) ud for nogle måneder, og ingen for andre....
Jeg får ingen fejlmelding, ok det kan være fordi jeg har try catch statement omkring sql sætningen...
Avatar billede arne_v Ekspert
13. september 2005 - 16:19 #6
Date er formentlig et reserveret ord - omdøb feltet eller brug [Date]
Avatar billede arne_v Ekspert
13. september 2005 - 16:20 #7
Og hvis Access har en måneds funktion så brug GROUP BY og den
Avatar billede curriculum Nybegynder
13. september 2005 - 16:30 #8
Group by [date] fejler...
Det kan ikke være type forbindelse til access databasen ?
Jeg bruger er oledb.
Avatar billede curriculum Nybegynder
13. september 2005 - 16:35 #9
Den her streng henter nogenlunde de rigtige data, men det virker som om den springer en dag over.

iYearCurrent = iYear ' iYear f.eks. 2004
iDayCurrent = Today.DaysInMonth(iYearCurrent, i)
iMonthCurrent = i 'i er variablen fra loopen 1-12

SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning
WHERE Date >= #01-" & iMonthCurrent & "-" & iYearCurrent & " 00.00.00#
AND Date <= #" & iDayCurrent & "-" & iMonthCurrent & "-" & iYearCurrent & " 23.59.59#
Avatar billede capaj Nybegynder
13. september 2005 - 16:39 #10
Prøv at debug.print din Sql inden du exekverer den og vis den her..
Avatar billede curriculum Nybegynder
13. september 2005 - 16:42 #11
I øjeblikket ser dn sådan ud:
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/01-2005# AND #01/02-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/02-2005# AND #01/03-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/03-2005# AND #01/04-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/04-2005# AND #01/05-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/05-2005# AND #01/06-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/06-2005# AND #01/07-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/07-2005# AND #01/08-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/08-2005# AND #01/09-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/09-2005# AND #01/10-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/10-2005# AND #01/11-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/11-2005# AND #01/12-2005#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/12-2005# AND #01/01-2006#
Avatar billede capaj Nybegynder
14. september 2005 - 10:51 #12
curriculum prøv at anvende det tidligere nævnte dato format:mm/dd-yyyy!

/CAPAJ
Avatar billede curriculum Nybegynder
14. september 2005 - 14:43 #13
Forsøger igen i morgen...
Avatar billede curriculum Nybegynder
15. september 2005 - 10:15 #14
Denne her giver nogenlunde samme resultat.
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #01/01-2004# AND #02/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #02/01-2004# AND #03/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #03/01-2004# AND #04/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #04/01-2004# AND #05/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #05/01-2004# AND #06/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #06/01-2004# AND #07/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #07/01-2004# AND #08/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #08/01-2004# AND #09/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #09/01-2004# AND #10/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #10/01-2004# AND #11/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #11/01-2004# AND #12/01-2004#
SELECT SUM(Term+Trs+Trf),SUM(Term),SUM(Trs),SUM(Trf),SUM(Inf) FROM tblFlyvning WHERE [Date] BETWEEN #12/01-2004# AND #01/01-2005#
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester