22. december 2004 - 18:57Der er
25 kommentarer og 1 løsning
hjælp til at definere relationer mellem 2 felter
Hej Jeg har problem med via et relateret felt at oprette oplysninger i en relateret tabel
jeg følgende tabeller
tblsagsinfo med bla feltet sagsnr tbllæsinfo med bla feltet læssagsnr
disse to felter er relateret
når jeg i min indtastningsformular indtaster et sagsnummer i feltet læssagsnr og dette sagsnummer ikke allerede eksisterer automatisk skal oprette oplysninger i tblsagsinfo og hvis sagen allerede er oprette springe til næste felt fra tbllæsinfo
You dont say if you select data (sagsnummer ) from the related table via a combo box. If you do then you can us ethe NO IN List event to accept a value which doesnt exist
EXAMPLE: Private Sub sagsnummer _NotInList(NewData As String, Response As Integer) Dim prompt As String
Response = acDataErrContinue
prompt = "Denne sagsnummer findes ikke i listen, ønsker du at oprette den?" If MsgBox(prompt, vbYesNo, "sagsnummer findes ikke!") = vbYes Then
DoCmd.OpenForm "frmsagsnummer", , , , acFormAdd, acDialog, NewData If DLookup("sagsnummer", "tblsagsinfo ", "sagsnummer = '" & NewData & "'") Then
Okay, det lyder meget smart. Hvor henne skal jeg så gøre sagsnummer til en komboboks? Inde i tblsagsinfo, eller inde i formularen hvor den er vist? eller begge steder?` Er det muligt, at når man trykker YES, at der så i stedet for at åbne en formular, bare blive tildelt et sagsnummer automatisk. Noget lidt lignende et autonummererings-felt? Der skal bare altid være mulighed for at kunne lave flere læssagsnr inden for hver sagsnr.
Normally if you create the relationship BEFORE you create teh form then it will already be a combo (automatically) It may be easiest to delete the field and then add a combo to your form. The wizard should guide you through the process.
Alle relationerne var lavede før formularen, så denne burde automatisk være en kombinationsboks? Jeg har nu prøvet at indsætte ovenstående, men den virker ikke. Når jeg åbner min formular, og vil til at oprette en ny post, hvor jeg ikke selv indtaster noget sagsnummer, så kommer 'prompt' ikke frem på skærmen? der sker faktisk ikke noget. For at VB accepterede dit din kode, så skulle jeg slette mellemrummet mellem ..sagsnummer _NotInList.... så den blev til ...sagsnummer_NotInList... Har dette nogen betydning? Koden skulle jo gerne fungere således, at hvis der ikke indtastes noget i sagsnummer feltet, så skal den spørge om man vil oprette en ny, og hvis man siger ja til dette, så tildeler den automatisk et nyt "unikt" sagsnummer, og hvis man siger nej, kan man manuelt indtastet et sagsnummer.
Undskyld jeg ikke har meldt tilbage men jeg har på grund af jul og nytår ikke haft tid til arbejde med sagen men starter op nu igen . Jeg melder mig lidt senere
Hey igen Terry.. Jeg har lige prøvet det hele efter igen, og fik det nu, af en eller anden mærkelig årsag til at virke, efter jeg også have sat 'Ja' ved 'BegrænsTilList'. Jeg benyttede mig af koden fra 22/12-2004 20:01:13. Der mangler dog stadig den funktion, at der også skal være mulighed for at automatisk få tildelt et unikt sagsnummer. Altså den skal nærmest have en form for autonummerering. Altså man skal ved promt få mulighederne 'Automatisk', 'Manuelt' og 'Anuller'. Hvor 'Manuelt' gør det samme som 'Ja' gør i den jeg bruger lige nu, og 'Anuller' det samme som 'Nej'.
Hi knudj I dont think I quite understand "...også skal være mulighed for at automatisk få tildelt et unikt sagsnummer."!
Dont you enter a sagsnummer in the combo box?
You also say "Altså man skal ved promt få mulighederne 'Automatisk', 'Manuelt' og 'Anuller'. Hvor 'Manuelt' gør det samme som 'Ja' gør i den jeg bruger lige nu, og 'Anuller' det samme som 'Nej'.
What is "'Automatisk'"?
In the standard dialog boxes you cant change the texts displayed on the buttons, you will need to make your own form/buttons for doing this.
OK Terry jeg prøver at gøre min forklaring lidt mere simpel
Når jeg kommer til feltet SAGSID skal der være 3 muligheder :
1) bruget et allerede existerende sagsnummer eller 2) manuelt oprette et nyt sagsnummer med tilhørede oplysninger der er oplyst af min kunde eller 3) access tildeler et unikt sagsnummer hvorefter tilhørende oplysninger indtastes.
mulighed nr. 2 har jeg klaret med din hjælp men havde forestillet mig er at hvis IKKE 1) er aktuel fremkommer en popup box hvor man kan vælge en af de 2 andre muligheder.
Hi Knud, I undersatnd what you want but I'm not sure how to do this best, it can be done in a numbers of ways! Lets look at what we have at the moment!
1) bruget et allerede existerende sagsnummer This is working with the current solution (choose from existing list)
2) manuelt oprette et nyt sagsnummer med tilhørede oplysninger der er oplyst af min kunde Again this is working with current solution (enter new number which gets created in dB and is then available for further use)
3) access tildeler et unikt sagsnummer hvorefter tilhørende oplysninger indtastes. Lets look at this part first (access tildeler et unikt sagsnummer) Because its possible to enter ANYTHING manually (2) then we dont have a fixed sequence which we can use to find the next in sequence, so we need some rules on how we find a unique number which doesnt alreday exist! Do you have any ideas on how we could do this? Now lets look at this part of 3 (..hvorefter tilhørende oplysninger indtastes.)
What other information do you mean, the solution given 22/12-2004 20:01:13 only enter a new sagsnummer into the table, do you want to be able to enter other fields into the table?
Okay, bare glem det med at (..hvorefter tilhørende oplysninger indtastes.), da dette kommer helt af sig selv. Det jeg havde tænkt på, var om man kunne lave et andet felt/kolonne i en tabel, som er et autonummereringsfelt, og derfra hente et unikt nummer, der ville blive indsat hvis man ikke manuelt indtastede et sagsnummer. (Hvis feltet SagsID forlades tomt, indsættes nummeret fra autonummererings-kolonen.) Kan dette bruges?
Is it possible for you to send me your DB? My address is above!
I have some ideas, but its easier to decide which to use when I know how things are at the moment! I dont think I will have time this evening, but will look at it as soon as I do. mvh Terry
Hej igen.. Det kan sagtens lade sig gøre, men jeg udsætter lige problemmet en smule, da jeg lige selv har nogle småting jeg skal have ændret først. Håber det er i orden..
No problem, get back when you have time, hopefully I will too :o)
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.