Avatar billede kim1106 Nybegynder
02. juni 2003 - 20:42 Der er 32 kommentarer og
1 løsning

Problemer med dato

er der så nogen der kan komme med en ide til hvordan man ud fra foreksempel finder afstanden mellem 4 datoer. F.eks. Hvis den ene dato er 02-10-2000 og den anden er 05-10-2000 så er afstanden 3 dage, hvis den næste dato så efterfølgende er 10-10-2002 så er den afstand 5 dage. Kan nogen give mig et hint til hvordan det kan gøres?
Avatar billede technodance.dk Nybegynder
02. juni 2003 - 20:47 #1
du kan ved at lave en tabel med dage og så kan du minus den lille dag med den store dag og gemmer det i tabelen dage??
Avatar billede juks Novice
02. juni 2003 - 20:52 #2
datedif
Avatar billede mugs Novice
02. juni 2003 - 20:57 #3
Brug funktionen DateDiff:

Antaldage = DateDiff("d", Dato1, Dato2)

Hvor felterne Dato1 og Dato2 er felter i din tabel. Hvis du vil have den 3. dato med i en beregning og beregne forskellen mellem f.eks. Dato2 og Dato3 hedder koden:

Antaldage = DateDiff("d", Dato2, Dato3)

Ordet "d" er et udtryk for at du vil have differencen i dage.

Hvis du vil have beregningenj i en forespørgsel skal det se sådan ud:

Udtryk1: (DateDiff("yyyy";[Dato1];[Dato2])) 

Her bliver beregningen blot vist i år ("yyyy") i.s.f. dage ("d"). Du kan også vælge at få det vist i:

yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
Avatar billede juks Novice
02. juni 2003 - 21:02 #4
fx
Antaldage = DateDiff("d", Date1, Date2)
Avatar billede henrik13 Nybegynder
02. juni 2003 - 21:15 #5
Se http://www.eksperten.dk/spm/359377
Det er samme spørgsmål.
Vh Henrik
Avatar billede mugs Novice
02. juni 2003 - 21:15 #6
Og sådan kan vi jo gå videre:

Udtryk2: (DateDiff("yyyy";[Dato1];Date()))

Giver differencen i år mellem den indtastede Dato1 og dags dato i  en forespørgsel.
Avatar billede mugs Novice
02. juni 2003 - 21:19 #7
Nej Henrik > dit link omtaler ændring af en tekstfil til datoer i Access. At der så senere tilføjes en Datediff er vel underordnet.

Hvis du søger lidt mere grundigt vil du garanteret finde masser af spørgsmål det omhandler Datediff!
Avatar billede kim1106 Nybegynder
02. juni 2003 - 21:31 #8
alt dette kan jeg godt finde ud af, men problemet er at jeg kun har en tabel med datoer (Tabel 1):

Det nedenstående skal udskrives ved en forespørgsel

Tabel 1  Tabel 2  (Datediff)
-------------------------------
Dato1    Dato2      F.eks 2
Dato2    Dato3      F.eks 7
Dato3    Dato4      F.eks 5
Dato4    NULL      F.eks 10
Avatar billede mugs Novice
02. juni 2003 - 21:35 #9
Opret samtlige datoer i Tabel2. Det kan gøres meget let med en VBA procedüre, derefter henter du begge tabeller ind i din forespørgsel, joinforbinder dem og laver et udtryk som jeg har skitseret.

Hvis du lægger din e-mail kan jeg sende dig en tabel med alle datoer fra nu og til Juleaften år 9999.

Men du har jo et problem: Hvordan vil du få differencen til 10 mellem dato4 og Null?
Avatar billede kim1106 Nybegynder
02. juni 2003 - 21:41 #10
Tja??? Oprindeligt skal jeg ikke bruge Tabel 2 til noget men kun afstanden af dage imellem dato1 og dato 2 i tabel 1 og derefter aftanden mellem Dato2 og dato3.

Tabel 1  afstand
---------------------
Dato1    Afstand mellem Dato1 og dato2
Dato2    Afstand mellem Dato2 og dato3
Dato3    Afstand mellem Dato3 og dato4
Dato4    Afstand mellem Dato4 og dato5
Avatar billede kim1106 Nybegynder
02. juni 2003 - 21:43 #11
Dog er der ikke nogen dato5, derfor bør den bare udskrive 0 hvilket også er fint nok!
Avatar billede mugs Novice
02. juni 2003 - 21:44 #12
Se - så´er det jo et helt andet spørgsmål. og Henrik har nu ret, da der jo er tale om at læse den næste post.
Avatar billede kim1106 Nybegynder
02. juni 2003 - 21:46 #13
Ja!!! Hvordan gør man det?
Avatar billede kim1106 Nybegynder
02. juni 2003 - 21:48 #14
det spørgsmål som henrik henviser til er jo ud fra en tekst fil men jeg har sådanset kun en tabel med datoer at arbejde med. Hvis du er en rigtig guttermand kan jeg du hjælpe, betyder meget at jeg får den til at virke
Avatar billede mugs Novice
02. juni 2003 - 21:48 #15
Beklager - Men den der SQL er for vild for mig. Det vil jeg uden betænkeligheder trygt overlade til thomasjepsen og terry. Det er vist det bedste i det lange løb :o)
Avatar billede mugs Novice
02. juni 2003 - 21:50 #16
Jeg vil gerne hjælpe - men med SQL er jeg ude af billedet. Og jeg tvivler på, at mit VBA eksempel vil fungere. Men er forskellen mellem Dato1 og Dato2 altid ens?
Avatar billede kim1106 Nybegynder
02. juni 2003 - 22:04 #17
nej
Avatar billede terry Ekspert
02. juni 2003 - 22:06 #18
kim1106>This is the second question you have concerning this question, and IF I am not mistaken there is a third (under another username). I'll just find it and get back!
Avatar billede terry Ekspert
02. juni 2003 - 22:13 #19
http://www.eksperten.dk/spm/359458
Are we talking to th esame person here by any chance?
Avatar billede nih Novice
02. juni 2003 - 22:19 #20
Jeg har en SQL, jeg altid finder frem og bygger videre på når jeg skal finde den "forrige" værdi. Du skal have en tabel: tabel1 med feltet dato.

Herefter kan du prøve at analysere denne SQL:

select t1.dato, null as forrige
from tabel1 as t1
Where dato = (select min(dato) from tabel1)
UNION ALL SELECT  T1.Dato as dato, T2.dato AS Forrige FROM Tabel1 AS T1 , Tabel1 AS T2
WHERE T2.Dato = (SELECT Max(Dato) FROM Tabel1 where  Dato<T1.Dato)
ORDER BY dato;

Mvh Niels
Avatar billede mugs Novice
02. juni 2003 - 22:23 #21
Sjovt nok handler dette om det samme:

http://www.eksperten.dk/spm/359922
Avatar billede nih Novice
02. juni 2003 - 22:24 #22
Hvis du kalder ovenstående SQL Q1:

SELECT dato, DateDiff("d",[forrige],[dato]) AS AntalDage
FROM Q1;

Burde den her virke

Niels
Avatar billede terry Ekspert
02. juni 2003 - 22:27 #23
I think admin should take a look at this guy :o)
Avatar billede nih Novice
02. juni 2003 - 22:30 #24
årh for F.

Er det snyder vi bruger tid på :(
Avatar billede terry Ekspert
02. juni 2003 - 22:32 #25
anmeldt!§
Avatar billede juks Novice
02. juni 2003 - 22:46 #26
hvorfor f.... kan folk ikke bruge dette forum korrekt
Avatar billede kimjdoek Nybegynder
03. juni 2003 - 22:26 #27
Jeg tror meget hurtigt jeg kan sætte en stopper, for at det er den samme person der stiller spørgsmålene..

det ligger nemlig sådan, at der nettop er blevet stillet en skole opgave, hvor dette er nødvendigt for at lave et af spørgsmålene....

men jeg kan helt sikkert godt give jer ret i at det må være irriterende at skulle læse de samme indlæg, og svare på de samme spørgsmål....


Til Niels, i din forrige post hvor du skriver om hvordan du henter den "forrige" værdi frem, så kan jeg godt se at det virker, og jeg har såmend også testet det. problemet ligger lidt i når jeg skal annalysere hvad det er der sker... jeg har en rimelig god anelse om hvad det er der sker, men jeg tænkte på om jeg evt. kunne maile dig hvad jeg mener? (jeg har vist din mail adr. fra en anden gang..) der er intet værre end at skrive noget man ikke er 110% sikker på hvordan virker!

Kim - og nej det er ikke mine de andre logins, hvis i skulle være fristet til at spørge!
Avatar billede nih Novice
04. juni 2003 - 21:16 #28
kim1106 eller kimjdoek - er det en skole for folk der hedder Kim ????

Min foresp består af af en union den øverste gi'r sig selv. (min(dato) og null

Den nederste laver det kartesiske produkt af tabellen tabel1 as t1 og tabel1 as t2 - altså den samme tabel bliver ganget. Det vil give alle kombinations muligheder for datoerne i tabel1 i 2 kolloner. Her udvælger jeg KUN dem hvor t2.dato = max(Dato) MEN < t1.dato.

Niels
Avatar billede terry Ekspert
05. juni 2003 - 12:20 #29
kim, IF you still need an answer, then deal out the points and I'll give you one
Avatar billede kimjdoek Nybegynder
05. juni 2003 - 15:53 #30
nih, nej men man skulle tro det, for der går rent faktisk kun mig og en anden Kim på den årgang... sååå....

men eftersom jeg fik et svar af dig har jeg ikke spor imod at oprette et spørgsmål for at overføre point til dig, men som sagt er denne post ikke min...
Avatar billede kimjdoek Nybegynder
05. juni 2003 - 15:54 #31
vel og mærke som jeg syntes er fornuftigt, og det var også hvad jeg regnede med skete, ville bare være sikker :-)
Avatar billede terry Ekspert
05. juni 2003 - 15:59 #32
kim>why do you need to create a NEW question to give Niels points? There are still points here!
Avatar billede kimjdoek Nybegynder
05. juni 2003 - 16:07 #33
terry> like i said... this is NOT my topic!
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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