Avatar billede listige_luc Praktikant
08. august 2005 - 15:19 Der er 25 kommentarer og
1 løsning

Lave tredelt dato om til ét datofelt i Access, gerne med SQL

Hejsa!

Jeg har en tabel "ordre" med kolonnerne "dg", "md" og "yyyy". Indholdet i disse tre vil jeg nu gerne have sat sammen i en ny kolonne "Dato" af formatet kort datoformat. Mit problem er at jeg ikke lige magter at skrive datoen manuelt for 5000 rækker, så jeg er ude efter noget smart SQL eller lignende. Jeg tænker at den bare kan køres som en ny forespørgsel.
Avatar billede mugs Novice
08. august 2005 - 15:22 #1
Sæt markøren i et nyt tomt felt og skriv:

Udtryk1:{dg]&[md]&[yyyy]
Avatar billede madschristensen Nybegynder
08. august 2005 - 15:24 #2
Er der tale om tal eller textfelter (dg - md og yyyy)
Avatar billede mugs Novice
08. august 2005 - 15:25 #3
Nyt Tomt felt er i en forespørgsel.
Hvis du vil have bindestreger med, skal disse behandles som tekst:

Udtryk1:[dg]&"-"&[md]&"-"&[yyyy]
Avatar billede madschristensen Nybegynder
08. august 2005 - 15:26 #4
Opdaterer det tabellen ?
Avatar billede mugs Novice
08. august 2005 - 15:29 #5
Nej - Men det var heller spørgsmålet.
Avatar billede madschristensen Nybegynder
08. august 2005 - 15:31 #6
Nå - men hvis man tilføjer et felt - dato - til tabellen og kører den her:
insert into ordre (id, dato)
SELECT ordre.id,  [ordre]![dg] & [ordre]![md] & [ordre]![yyyy]  AS dato
FROM ordre;

vil den sætte dato'en ind i feltet dato.
Avatar billede -anders- Juniormester
08. august 2005 - 15:33 #7
Denne virker også:
Dato: ([dg]) & "" & "-" & "" & ([mm]) & "" & "-" & "" & ([yyyy])
Man kan så efterfølgende sætte det beregnet felt til formatet Kort datoformat
Avatar billede mugs Novice
08. august 2005 - 15:44 #8
Du har jo nok ret Mads, det er sikkert det der menes.
Avatar billede madschristensen Nybegynder
08. august 2005 - 15:46 #9
Mugs: Uanset hvad der menes er der ihvertfald svar på alle hylder ;O)))
Avatar billede mugs Novice
08. august 2005 - 15:48 #10
Ja - Der er frit valg ;o)
Avatar billede listige_luc Praktikant
08. august 2005 - 16:59 #11
dg, md og yyyy er tekst felter. Jeg tester den første, den bedste.
Avatar billede listige_luc Praktikant
08. august 2005 - 18:37 #12
madschristensen --> det virker ikke helt efter hensigten...jeg får det dobbelte antal rækker, dvs. den laver en ny række til hvert id (id er autonummereringen). Jeg vil bare have omdannet de tre eksisterende felter til et datofelt for hvert id.

mugs & aandersen --> jeg ved ikke hvordan jeg skal bruge jeres forslag, altså hvor og hvordan de skal udføres.

Jeg har i tabellen "ordre" følgende kolonner:

id - autonummerering (refererer til ordreid i en anden tabel)
kundeid - (refererer til en kunde i en anden tabel)
dg - dag
md - måned
yyyy - år

dg, md og yyyy skal "bare" laves om til én kolonne, dato - kort datoformat, så jeg bare har en ekstra kolonne til de eksisterende rækker.
Avatar billede listige_luc Praktikant
08. august 2005 - 18:39 #13
Jeg vil gerne have bindestreger med og jeg foretrækker SQL. De andre forslag forstår jeg som sagt ikke hvor og hvordan skal bruges.
Avatar billede mugs Novice
08. august 2005 - 18:39 #14
Jeg kan sende dig et eksempel. Blot læg din e-mail.
Avatar billede listige_luc Praktikant
08. august 2005 - 18:42 #15
lisaogthomas@webspeed.dk
Avatar billede mugs Novice
08. august 2005 - 18:47 #16
Sendt.
Avatar billede listige_luc Praktikant
08. august 2005 - 19:23 #17
mugs --> det er sådan det skal se ud, men hvordan får jeg den så til at opdatere tabellen og blive gemt i kort datoformat?
Avatar billede mugs Novice
08. august 2005 - 19:28 #18
Den sidste mail du har modtaget, viser netop hvordan du opdaterer et felt i din tabel. Bemærk at jeg i sidste eksempel har lavet et datofelt i tabellen og kører en opdateringsforespørgsel.

Du kan ikke gemme en dato i kort datoformat. En dato er en nemerisk værdi, hvor 1900-01-01 er dag Nr. 1 (så vidt jeg husker), 1900-01-02 er dag nr. 2 o.s.v.

Et format er kun den måde dine øjne ser på skærmen, så uanset om du vælger at se kort datoformat, langt el. noget helt andet, vil den lagrede værdi ALTID være et numerisk værdi der repræsenterer datoen.
Avatar billede listige_luc Praktikant
08. august 2005 - 19:39 #19
Yes det virker og takker mange gange.
Avatar billede mugs Novice
08. august 2005 - 19:42 #20
Selv tak - Og tak for point ;o)
Avatar billede listige_luc Praktikant
08. august 2005 - 21:14 #21
Nogen løsningsforslag til dette? http://www.eksperten.dk/spm/638465
Avatar billede madschristensen Nybegynder
09. august 2005 - 08:59 #22
Hey.... har i aldrig fri ??? - Nåmen - det er klart at mit forslag ikke virker - jeg må have været træt.... INSERT INTO laver s'følig nye records... Det skulle være en UPDATE... (Utroligt hvad 4 ugers barsel kan gøre ved een ;O)))
Avatar billede mugs Novice
09. august 2005 - 10:03 #23
Mads > Hvad må man ønske tillykke med?
Avatar billede madschristensen Nybegynder
09. august 2005 - 10:30 #24
En dreng - nr. 3 ;O))
Avatar billede mugs Novice
09. august 2005 - 10:54 #25
Tillykke ;O)
Avatar billede madschristensen Nybegynder
09. august 2005 - 11:25 #26
Tak :o]
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

IT-JOB

Nextway Software A/S

Software Architect

IT-Universitetet i København

CIO