10. juni 2006 - 14:43Der er
6 kommentarer og 4 løsninger
fastlås data
hej jeg har en db med flere sammenkædede tabeller . I en af tabellerne ligger kunders priser. Når jeg ændrer priserne i denne tabel ændres priser i alle poster i db. Kan man låse de gamle poster således at ændringer i pristabellen ikke automatisk ændrer priser i hele db'en men kun i nye poster ??
Hej knudj Hvis du med sammenkædede tabeller mener relationer mellem tabeller, kan du ændre relation i relationsvinduet. Højreklik på den relation der er relateret til den tabel hvor priserne er registreret, og vælg rediger relation. Her skal du fjerne flubebenet Kaskadevis opdatering af relateret felter. Dette skulle gøre tricket.
Det kommer an på hvordan dine relationer er bygget op. Hvis du har direkte relation til en tabel, hvor db returnerer en værdi udfra relationen, vil alle poster automatisk opdateres i din tabel, hvis du ændrer det i hovedtabellen. Ellers vil jeg foreslå du køre det via tilføjelses forespørgsler ned i din tabel, så du hele tiden har den aktulle pris, og dine gamle poster beholder den pris de stod med før.
jeg tror lars har ret anders - det virker ikke ( jeg kan ikke få det til at virke) når der er en direkte relation. jeg må prøve om jeg kan lave det via en forespørgelse - jeg vender tilbage - knud
Okay,hvis du ændre i en siden af relationen virker det, men som nævnt i dette indlæg 10/06-2006 21:22:36 kommer det jo an på hvordan det er skruet sammen. God arbejdslyst med projeket
Det er en gammelt kendt problem med denne slags databser med variable data, hvorpå der skal gemmes historik.
Det er jo kendt, at hvor der laves databaser med f.eks priser, der skal udskrives på en faktura og derefter gemmes for at udskrive f.eks rykkerbreve, at priserne måske ændres imellem den oprindelige fakturadato og datoen for en rykkerskrivelse. Så duer det ikke med kun en enkelt tabel. Du er nødt til som lars_hoeberg skriver, at oprette en historiktabel og sende data der over efter oprettelse af en post.
Det kan gøres meget simpelt men en kopi af din tabel og en tilføjelsesforespørgsel. Denne historiktabel skal du således bruge som grundlag for dine fakturaer og rykkerbreve, og du kan derefter ændre f.eks priser, moms, rabatter m.v. i din oprindelige tabel uden at ødelægge din historik. Ligeledes kan du lave opsummeringer på historikken på den måde, at hvis en kunde f.eks har købt for 10000 Kr på et år, skal der gives en større rabat.
Det lyder måske omstændigt at lave det, men er ganske simpelt, og det giver dig mange muligheder for at lave historik og historiske opsummeringer.
Totalt enig med Mugs. Har du for mange prblemer med det, så må du gerne sende din db til mig. lars@NOSPAMhoeberg.dk
Synes godt om
Slettet bruger
12. juni 2006 - 00:53#8
Hvis du nu har en tabel med køb:
Kundenr Varenr
Og så har du en kunde tabel:
Kundenr Kundenavn Adresse osv
og en varetabel:
Varenr Varenavn Pris Spec. osv..
Så kan man jo registrere et køb ved at gemme kundenr og varenr i den første tabel. Så er det du siger at historikken ryger, hvis prisen ændres, korrekt..
Og så er det jo lige præcis sådan, at man bare kan gemme de data, som der evt. vil blive ændret, i købstabellen. Så i dette tilfælde ser den sådan ud:
Varenr Kundenr Pris
Du skal derfor udvide tabellen med pris og så for at få de køb med, som allerede er i db'en, køre en tilføjelsesforespørgsel på pris!~)
Fremover skal din valgte varekøb "stemple" prisen ned i købstabellen og så husk at vælge den rigtige pris, når du kører diverse fremtidige forespørgsler...
det ser så let ud - og det ser også helt rigtigt ud. jeg kan bare ikke få det til at virke som jeg gerne vil have men det kommer helt sikkert. tak for hjælpen hilsen knud
Du er stadig velkommen til at prøve at sende din db
Synes godt om
Ny brugerNybegynder
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.