Avatar billede tolveren Nybegynder
05. juli 2004 - 10:58 Der er 16 kommentarer og
1 løsning

Dato til måned

Et let sprøgsmål for nogen:
Hvordan laver man et udtryk.

Datoen 20081027 skal laves om til måned 10.

Jeg har før set funktionen Substring, men den kan jeg ikke finde i access.
Avatar billede proaccess Nybegynder
05. juli 2004 - 11:08 #1
=Mid(DatoFelt; 5; 2)
Avatar billede hekla Nybegynder
05. juli 2004 - 11:13 #2
Eller
=DatePart("mm";[Dato])
Avatar billede terry Ekspert
05. juli 2004 - 11:21 #3
Month(DateField)
Avatar billede tolveren Nybegynder
05. juli 2004 - 11:24 #4
Jeg har prøvet begge, men de virker ikke. Der er syntaksfejl. Kan det være mit formatet på mit felt
Avatar billede tolveren Nybegynder
05. juli 2004 - 11:31 #5
Mit felt er tal-format.
Hvis jeg ændrer formatet, så mister jeg mine data.
Avatar billede tolveren Nybegynder
05. juli 2004 - 11:32 #6
Kan jeg lave en righttrim og derefter en lefttrim
Avatar billede stingbat Nybegynder
05. juli 2004 - 11:38 #7
tolveren:
Prøv Mid(DatoFelt, 5, 2) i stedet (altså med ",")

Det andet med ; er ikke gyldigt i SQL-sproget, andet end for at afslutte/opsplitte et SQL-kald (f.eks. ved 2 kald i ét).
Avatar billede hekla Nybegynder
05. juli 2004 - 11:39 #8
Udtryk1: Mid([MinTabel]![MitDatofelt]; 5; 2)
Avatar billede stingbat Nybegynder
05. juli 2004 - 11:49 #9
hekla:
Virker muligvis fra selve Access, men når du skriver SQL-stringe (f.eks. via ASP som jeg vil skyde på at han prøver at hente det fra), er det ugyldigt.

Den "oversatte" udgave, kan også ses, ved at skifte til SQL-visning når man er under Udvælgelsesforespørgelse.
Avatar billede tolveren Nybegynder
05. juli 2004 - 11:53 #10
Mit problem er lige nu at ændre mit felt. Tal-format til dato-format inden jeg laver udtrykket. Udtrykket har jeg forsøgt at lave i access i forespørgselsmodulet.
Avatar billede stingbat Nybegynder
05. juli 2004 - 12:05 #11
Hvis du laver det i Forespørgelsesmodulet, skulle det også virke.

Men hvis du vil konvertere, så kan du jo evt. opbygge SQL-stringen, og køre denne (via SQL-visning)...

F.eks.:
UPDATE tabelnavn SET nytdatofelt = MID(gammeldatofelt, 1, 4) & '-' & MID(gammeldatofelt, 5, 2) & '-' & MID(gammeldatofelt, 7, 2)
[åbenbart virker det både med & og + ... så vælg hvad du bedst kan li]

Husk inden du kører, at gemme en kopi af databasen :-s
Avatar billede proaccess Nybegynder
05. juli 2004 - 12:08 #12
Ved talfelter kan du bruge:
(Dato Mod 10000) \ 100
BEMÆRK AT SKRÅSTREGEN IKKE ER "NORMAL"!

Som I:
SELECT Tabel1.Dato, ([dato] Mod 10000)\100 AS Udtryk1
FROM Tabel1;
Avatar billede terry Ekspert
05. juli 2004 - 12:12 #13
AsDate: CDate(Left([DatoFelt],4) & "-" & Mid([DatoFelt],5,2) & "-" & Mid([DatoFelt],7,2))

will convert a numeric value with format (yyyymmdd) to a date
Avatar billede hekla Nybegynder
05. juli 2004 - 12:18 #14
Lav et datofelt i din tabel og opdater det vha en opdateringsforespørgsel til:
DateValue(Mid([MinTabel]![Mittalfelt];7;2) & "-" & Mid([MinTabel]![Mittalfelt];5;2) & "-" & Mid([MinTabel]![Mittalfelt];1;4))
Avatar billede terry Ekspert
05. juli 2004 - 12:32 #15
Going back to the original question!

"Datoen 20081027 skal laves om til måned 10"

Cna you be more precise in what you want so that we all dont run off in different directions!
Avatar billede tolveren Nybegynder
05. juli 2004 - 14:07 #16
Ved talfelter kan du bruge:
(Dato Mod 10000) \ 100
Virker for mig. Så er jeg fri for at skifte format.
Tak til proacces. I andre takker jeg også. Hvis det havde været et date-format
ville de sikkert virke for mig.
Avatar billede stingbat Nybegynder
05. juli 2004 - 14:17 #17
tolveren:
Det andet, var så at du kunne konvertere fra tal til tekst. Virker lidt spøjst at gemme i tal format i stedet, men er skam også helt okay :)
Man kan jo sagtens konvertere lidt frem og tilbage. Ville dog have været nemmere at have brugt month(felt) i det aktuelle tilfælde.
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