15. juli 2003 - 21:31Der er
20 kommentarer og 1 løsning
Fejlmeddelelse hvis data ikke findes i anden tabel
Hjæælp, jeg er igang med at lave en db, der skal bruges til en indsamling, hvor vi skal indtaste indsamler samt tildele dem et rutenr. Jeg vil gerne have det lavet sådan, at hvis man taster et rutenr. som ikke eksisterer, så kommer der en fejlmeddelelse....
Er det ikke nemmere kun at lade indtasteren vælge mellem eksisterende rutenumre, så er der nemlig ikke brug for nogen fejlmeddeleser da der ikke kan vælges et ikke eksisterende rutenummer ?
Denne kode tæller hvormange rutenr der er i tabellen "rute" i feltet "rutenr", hvor rutenr er = det netop indtastede i en formular:
Private Sub rutenr_BeforeUpdate(Cancel As Integer) a = Me.rutenr If DCount("*", "rute", "[rutenr] = " & a) = 0 Then MsgBox "Rutenr. findes ikke." End If End Sub
jytte > Du må tænke på en kombinationsboks. Hvis nu der er 100 rutenr., så er det en lang proces at browse ned igennem posterne. Det er ikke helt korrekt, at der ikke kan indtastes et rutenr der ikke eksisterer. Det afhænger af, hvordan comboen er sat i egenskaben BegrænsTilListe Ja eller Nej.
Mugs: Hejsa, den vil jeg gerne se, virker lidt som volapyk for mig.. min mail er: christian.krog@andersen.mail.dk Men problemet ligger også i, at rutenr. ikke kommer i rækkefølge, ved ikke om det kan give problemer for dit løsningsforslag????
og til jytte, godt forslag, men der er ca. 1000 ruter, så det vil være lidt for langt at lade brugeren vælge ;o)
DIM Nr as Long Nr = [RuteNr] [RuteNr].SetFocus DoCmd.FindRecord [NyRute] ' der hvad man skriver den rute man søger efter If [RuteNr] = Nr then MsgBox "Ruten findes Ikke"
For at undgå misforståelser må hellere tilføje en IF/END IF:
DIM Nr as Long Nr = [RuteNr] If [NyRute] <> [Rute] then [RuteNr].SetFocus DoCmd.FindRecord [NyRute] If [RuteNr] = Nr then MsgBox "Ruten findes Ikke" End if
I would have though that the easiest way was to make sure Rutenr was a unique index and when you try and WRITE to the dB you will automatically get an error. If necessary you can react on this error and show your own message!
I can see its still a little early. Obviolsly a combo box would be the best here. In the NOT IN LIST event you can display a message and if you want you can ADD the new data.
If you place a combo box on the from using the wizard which selects ALL EXISTING rutenr from your table then if you enter a rutenr which DOES NOT exist the NOT IN LIST event gets fired and the gets performed. For this to work th elimit to list property for the combo must be set to Yes.
I cant see your database but if it is normalized then I would imagine that you have a table containing Rutenr. Then in the table which you use for "indsamling" you will have a field which references the table Rutenr. When you design your table "indsamling" change the datatype to "Lookup" for the Rutenr field. This will start a wizard to help you select the related table where Rutenr is to be taken from. Then when you create a form the Rutenr field should now be a combo box where you can choose the Rutenr from. Then when this is done the code (which you need to modify a little) should work!
If you cant get this to work then I will take a look later if you sent it to eksperten@santhell.dk
Først og fremmest tak til jer alle sammen for de mange svarmuligheder, det er dejligt at der er nogen som jer, der gider bruge tiden til at hjælpe... Det er nok ikke sidste gang jeg får brug for hjælp ;o)
Pointene går til Terry
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.