26. august 2010 - 13:55Der er
12 kommentarer og 2 løsninger
Fejlmeddelelse Ved ikke på liste
Det er første gang jeg har rodet mig ud i denne, og min kode ser pt således ud.
Private Sub SkemaNr_NotInList(NewData As String, Response As Integer)
DoCmd.SetWarnings False
MsgBox "Eksisterer ikke, tryk på knap" Me.cmdKnap.Enabled = True Me.Undo
DoCmd.SetWarnings True
End Sub
Men jeg får stadig Access's meddelelse, om at mit element ikke er på listen, den kommer efter min komboboks, det troede jeg, at jeg havde slået fra med SetWarnings. Det er en ting. Dernæst vil jeg helst, at den ikke sletter hele posten, hvis det er en ny post, men blot "nulstiller" comboboksen, så feltet er blankt. Hvis det er en "gammel" post jeg er i, ser det ud som om den blot "genvælger" den oprindelige værdi.
Søgning er en svær ting, især at få skrevet de helt rigtige søgeord ;-) Og Terry, jeg tror umiddelbart, at dit funde eksempel, er bedre, end dem jeg selv har fundet.
Jeg har ikke lige haft lejlighed til at afprøve endnu, men i vistnok alle de eksempler jeg har set, er der en "Promt" med, jeg går ud fra, at det er den der styrer ja/nej delen. Skal den med, Promten altså ? Min oprindelige tanke var bare, at få skrevet en lidt mere sigende meddelelse til brugeren, end Access'es egen (tak mugs) Og kan jeg så på anden vis slippe af med Access's, når det ikke er en Warning ?
Så fik jeg også knækket den nød :-) ved hjælp af 2 x Response = acDataErrContinue, og en promt, så ved samme lejlighed fik jeg lige åbnet for nogle helt nye perspektiver. Tak for det. Jeg vil gerne have lov til at give mugs 1/3 af pointene, da han også var med til at få min hjerne på ret kurs, så mugs, kan du ikke også lægge et svar :-) Jeg havde haft prøvet noget med acDataErr... , men det virkede ikke rigtigt. Denne kode virker som jeg vil ah' det til
Private Sub SkemaNr_NotInList(NewData As String, Response As Integer)
Dim promt As String
DoCmd.SetWarnings False
promt = "Skemanummeret eksisterer ikke, vil du oprette et nyt ?"
If MsgBox(promt, vbYesNo, "Not found!") = vbYes Then DoCmd.OpenForm "EnAndenFormular" Response = acDataErrContinue Else Response = acDataErrContinue Me.SkemaNr.Undo End If
Lige et tillægsspørgsmål til 10 ekstra points Min promt ser sådan ud promt = "Skemanummeret eksisterer ikke, vil du oprette et nyt ?"
Hvis jeg nu vil have den til at se sådan ud
promt = "Skemanummeret eksisterer ikke, vil du oprette et nyt " & Me.Skemanr & "?" Hvordan får jeg den så til det, eller, hvad mangler ? for den skal jo tage det nye "ikke gyldige" og sætte ind i teksten, men det skal IKKE tilføjes til listen i comboboksen ad den vej, grundet andre finurligheder.
Som det er nu spørger den "Skemanummeret eksistere ikke, vil du oprette et nyt ? Jeg vil gerne have den til at spørge "Skemanummere eksisterer ikke, vil du oprette et nyt med nr xxx xxx?", hvor xxx xxx er det nummer der netop ikke er på listen, og derfor udløste ved ikke på liste
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.