08. august 2005 - 15:19Der 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.
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;
Denne virker også: Dato: ([dg]) & "" & "-" & "" & ([mm]) & "" & "-" & "" & ([yyyy]) Man kan så efterfølgende sætte det beregnet felt til formatet Kort datoformat
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.
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.
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)))
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.