29. november 2007 - 16:23Der er
5 kommentarer og 1 løsning
Slet poster i tabel 1 med opslag i tabel 2
Hej alle
Jeg har en lagerdatabase hvori der er en tabel over vare (T_VARER). I denne er der opført varer med angivelse af LAGERNUMMER, LOKATION, BEHOLDNING m.v. Det er nu ved at være slutningen på året og jeg skal derfor lave status. Jeg tæller hver lokation op via scanner og får så via en tekstfil en tabel (S_STATUS), der indeholder oplysninger om det der ligger på de enkelte lokationer (S_STATUS indeholder felterne LOKATION, LAGERNUMMER og BEHOLDNING).
Det jeg vil er, at opdatere T_VARER med de lokationer der matcher med dem i S_STATUS, indsætte de varer fra S_STATUS der ikke matcher og herefter overføre de poster der reelt ikke ligger på lokationen (de der ikke er blevet opdateret) fra T_VARER til T_VARER_STATUSFEJL (T_VARER_STATUSFEJL indeholder samme felter som T_VARER), således at min database påny matcher den fysiske lokation.
Såvel LAGERNUMMER som LOKATION kan forekomme flere gange, så dermed kan de vel ikke være UnikID (hvad mener du helt præcis med UnikId. Eksempelvis S_STATUS:
Her er der to varer på lokation 10110 og to på 12030 samt lagernummer 100000001 går igen på to forskellige lokationer. Såvel LAGERNUMMER som LOKATION er tekst-strenge.
Ovenstående er langt hen ad vejen fin, men mit store problem er følgende: ' Flyt ukendte DoCmd.RunSQL "INSERT INTO T_VARER_STATUSFEJL (Lagernummer, Lokation, Beholdning)" & _ " SELECT T_VARER.Lagernummer, T_VARER.Lokation, T_VARER.Beholdning" & _ " FROM T_VARER LEFT JOIN S_STATUS ON (T_VARER.Lagernummer = S_STATUS.Lagernummer) AND (T_VARER.Lokation = S_STATUS.Lokation)" & _ " WHERE S_STATUS.Lagernummer Is Null"
Denne flytter alle andre poster end de der er angivet i S_STATUS
Så er det kun alle andre LAGERNUMMER på LOKATION 10110 og 12030 der skal INSERT INTO i T_VAREFEJL og DELETE i T_VARER. Alle andre lokationer skal være uberørte
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.