31. maj 2005 - 11:12Der er
12 kommentarer og 1 løsning
Handlingsprocedure søg, opret
Hejsa. Jeg ville gerne have en function der gør følgende:
Når jeg trykker på ny post, skal der komme en ny post frem (ret simpelt). Her starter jeg med at indtaste kundenummer. Når det er indtastet skal den tjekke om det allerede eksistere og derefter gå til posten hvis det eksistere. Hvis det ikke eksistere skal den blive på den tomme post, og gå videre til næste felt.
Hvis du VBA søger efter en post og intet finder bliver du stående hvor du er(sidste del af dit spørgsmål). Følgende søgning i en af mine egne baser virker:
Private Sub FINDTIT_AfterUpdate() [ID].SetFocus DoCmd.FindRecord [FINDTIT] [FINDTIT] = Null [FINDTIT].SetFocus End Sub
Næstsidste linje nulstiller søgefeltet og kan slettes, hvis det du søger efter skal blive stående.
Jeg har prøvet at gå ind i egenskaber under det felt hvor kundenummeret tastes. Herfra har jeg så gået ind i hændelse efter update, og lagt din private Sub;
Når jeg så skrive et kundenr. kommer der fejl i følgende linie: [ID].SetFocus
Har rettet det til kundenr., men der kommer stadig fejl. Hvis posten eksistere skriver den at det ville give dubletter og hvis den ikke eksistere vil den stadig ikke oprette den da den ikke vil tillade en null værdi?!? (og det var ikke 0 eller blank jeg havde skrevet)
Når du forsøger at oprette en ny post må formularen nødvendigvis stå i den tilstand hvor du opretter en ny post, altså en helt blank formular uden data.
Du har indsat koden i feltets AfterUpdate, hvilket vil sige, at koden først eksekveres efter at de nye data er sendt til tabellen, og hvis kundenummeret eksisterer vil du få fejlen med dubletter. Koden skal indsættes i feltets BeforeUpdate. Jeg har ikke afprøvet koden.
Db er modtaget, rettet og returneret. Flg. kode er indsat:
Private Sub Ordernr_BeforeUpdate(Cancel As Integer) Dim VARa As Long If Me.NewRecord Then VARa = Me.Ordernr If DCount("*", "HovedTB", "[Ordernr] =" & VARa) > 0 Then MsgBox "Der er allerede poster med denne værdi." Me.Undo DoCmd.FindRecord VARa, acEntire, False, , True, acCurrent, True Exit Sub End If End If End Sub
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.