Avatar billede Slettet bruger
01. april 2004 - 08:17 Der er 4 kommentarer og
1 løsning

Problemer med SQL-sætning i Access 2000

Jeg prøver at indsætte alle rækker fra tabellen "Tabel1" ind i Tabel2. Men kun alle rækker hvor feltet "landekode" er lig med "DK","FX","GX" eller "SE". Derudover skal SQL-sætningen skrive "DK" i feltet "landekode" i Tabel2 alle de steder hvor der står "FX" eller "GX".

Alle rækkerne bliver overført, men den udskifter ikke "FX" og "GX" med "DK". Hvad er der galt???


INSERT INTO [Tabel2]
SELECT Tabel1.*
FROM Tabel1
WHERE (((IIf([landekode] In ("GX","FX"),"DK",[Landekode])) In ("DK","FX","GX","SE")));
Avatar billede proaccess Nybegynder
01. april 2004 - 08:29 #1
Du bliver nødt til at specificere alle dine feltnavne, for at kunne ændre bare eet af dem...

INSERT INTO [Tabel2] (feltnavn1, feltnavn2, landekode)
SELECT feltnavn1, feltnavn2, IIf(landekode IN ('FX','GX'), 'DK', landekode)
FROM Tabel1
WHERE Landekode IN ('DK','FX','GX','SE')
Avatar billede jensen363 Forsker
01. april 2004 - 08:30 #2
Jeg ville lave det i to omgange, altså først indsætte fra tabel1 til tabel2 som du beskriver, og derefter benytte en UPDATE til at udskifte den nævnte landekoder.
Avatar billede Slettet bruger
01. april 2004 - 08:46 #3
Tak - det virker.
Jeg ved godt jeg kan lave en update og det virker også, men jeg er nødt til at have en forespørgsel med en update for hver landekode - er jeg ikke?

Jeg har en update der ser således ud:
UPDATE [Tabel2] SET [Tabel2].landekode = ReplaceQ([landekode],"GX","DK")

Og en anden update således:
UPDATE [Tabel2] SET [Tabel2].landekode = ReplaceQ([landekode],"FX","DK")

(Funktionen replaceQ ligger i et modul).
Avatar billede jensen363 Forsker
01. april 2004 - 09:04 #4
In(xxx) kan benyttes

UPDATE Læsertal SET Læsertal.Avis = "Dagblade"
WHERE (((Læsertal.Avis) In ("METRO","URBAN")));
Avatar billede Slettet bruger
01. april 2004 - 09:09 #5
Tak for det.
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