Jag har ett gäng befintliga tabeller.
Nu vill jag flytta viss information från ett fält (topvärden) till en kolumn i en helt annan tabell.
I min tabell tbl_service finns massa servicebesök registrerade. Det kan vara flera till samma adress, men endast det senaste ska flyttas över till den nya kolumnen i den andra tabellen.
Det ursprunliga ska finnas kvar, det skall alltså "kopieras".
Såhär har jag provat med:
UPDATE tbl_hiss SET sDate = (SELECT TOP 1 Service_Datum FROM tbl_service) WHERE Hiss_ID = tbl_service.Hiss_ID
Tabellen som data ska kopieras ifrån från heter tbl_service och fältet Service_Datum.
Fältet detta ska hamna i heter sDate (datum) och ligger i tabellen tbl_hiss.
Vore väldigt tacksam för hjälp med det här, då jag är mycket angelägen av att fixa detta!
UPDATE tbl_hiss
SET sDate = (
SELECT max(Service_Datum)
FROM tbl_service
WHERE tbl_hiss.Hiss_ID = tbl_service.Hiss_ID)
where hiss_id in (
select hiss_id
from tbl_service)
UPDATE tbl_hiss
SET sDate = (
SELECT max(Service_Datum)
FROM tbl_service
WHERE tbl_hiss.Hiss_ID = tbl_service.Hiss_ID)
where hiss_id in (
select hiss_id
from tbl_service)
Tack så mycket, men:
Operationen måste använda en fråga som kan uppdateras...
Ja visst ja, du använder Access som verkar ha problem med denna typ av frågor.
Jag kommer bara på sådana tråkiga lösningar som
-- byta databashanterare
-- uppdatera en post i tbl_hiss i taget.
I och för sig så förstår jag inte varför du måste lagra detta när du lika gärna kan ta fram det vid select. Du kan ju heller aldrig lita på det lagrade värdet eftersom det kan ha ha gjorts en insert sedan du uppdaterade senast.
I och för sig så förstår jag inte varför du måste lagra detta när du lika gärna kan ta fram det vid select. Du kan ju heller aldrig lita på det lagrade värdet eftersom det kan ha ha gjorts en insert sedan du uppdaterade senast.
Då var jag tvungen att tänka om, så då lade jag till en kolumn, där det senaste servicebesöket lagras direkt i "rätt" tabell, men samtidigt sparas i den "vanliga" tabellen.
Just den biten är lätt löst, men problemet är att det redan existerar >650 poster där "rätt" (det senaste) datumet flyttas över.
Och det är inte genomförbart om jag måste göra allt manuellt. Så antingen behöver jag ett svar på en här tråden, som funkar, eller så måste jag lösa problemet i den andra tråden, länkad ovan.
Skulle man kanske kunna göra en fuling med ett litet script, som först plockar ut Max(Service_Datum) samt ID, trycker in det i ett formulär och sedan postar formuläret till ett litet script som sedan trycker in infon på "rätt" ställe?
261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2