06. december 2005 - 10:50Der er
7 kommentarer og 1 løsning
Brug af 1 til mange relatio gennem form
Hej
Jeg har en tabel (TrackChanges) hvori der registreres alle ændringer i databasen - dvs. hver gang et felt ændres oprettes der en log i TrackChanges tabellen. Jeg ønsker nu at lave en årsagsregistrering på disse linjer. Dvs. jeg har lavet en ny tabel (ChangeReasons) som har en 1 til mange relation med TrackChanges tabel (En årsag kan høre til mange ændringer i TrackChanges)
Det jeg har brug for nu er så at få oprettet selve brugerfladen/formen til at oprette og vedligeholde dette. Det jeg ønsker er en mulighed for at kunne se listen over TrackChanges og derefter sætte flueben i dem jeg ønsker at oprette under samme Reason - Er der nogen der kan hjælpe lidt eller evt. lave et eksempel i en db som jeg kunne se?
Data i trackchanges bliver automatisk udfyldt når brugeren retter i systemet. Bruger skal så efterfølgende gå ind og markere sine ændringer og give dem en årsagskode og beskrivelse hvorfor han har ændret dette. Jeg forestillede mig en løsning hvor jeg får vist alle linjerne i TrackChanges (hvor ReasonID er NULL) og for hver linje skal der være en tjekbox. På formen skal der desuden være indtastningsfelter for ReasonCodes (dvs. ChangeReason og Description - de to sidste felter udfyldes automatisk). Brugeren skal så indtaste i ReasonCodes felterne og krydse af i TrackChange listen udfor de linjer der hører til ReasonCode han lige har udfyldt. Han afslutter med at klikke opret. Der der så skal ske er
1. Ny post i ReasonCodes oprettes 2. Felter i Trackchanges hvor der var krydset af i opdateres så deres felter med ReasonID bliver udfyldt med ReasonID fra den nye post der er oprettet i ReasonCodes.
Håber dette giver bedre mening hvad det er jeg ønsker - Hvis der er nogen der har eller kan lave et tilsvarende eksempel ville det være perfekt for jeg kunne godt forestille mig at det ville blive svært at forklarer med tekst.
The way I see it you will need an yes/no field in your TrackChanges table. This will allow you to check those you want to be related to a specific ReasonCodes record. Or if you dont want to use a yes/no field then you can use a listbox to show the records from TrackChanges and then select those which you want to be related to your ReasonCodes record. It will be MUCH easier havin a yes/no field. Using a listbox will require code to loop through those selected. The Yes/no method will require only a few lines of code to make the relationship.
Any, start by having a form where you create a new ReasonCodes record. Then a sub form which shows all TrackChanges where ReasonID = NULL
Now you can select the yes/no check box for those you want to relate to the new ReasonCodes record. Now place a butto on the form and in the buttons on click event use some code something like this
Docmd.runsql "UPDATE TrackChanges SET ReasonID = " & Me.Parent.ReasonID & " WHERE YourNewYesNoField = -1 AND ReasonID Is Null"
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.