Avatar billede Slettet bruger
09. august 2004 - 13:17 Der er 9 kommentarer og
1 løsning

Indsæt meddelse når poster ophører

Hvordan fortæller jeg brugeren at han/hun er kommet forbi den sidste post eller er gået længere tilbage end post 1. Fordi meddelserne fra Access er ikke rare og brugeren bliver nærmest bange.
Avatar billede mugs Novice
09. august 2004 - 13:58 #1
I formularens VedAktuel:

If Me.CurrentRecord = 1 Then
MsgBox "Du står nu på 1. post"
End If
If Me.NewRecord = True Then
DoCmd.GoToRecord acForm, "frm1", acPrevious, 1
MsgBox "Du står nu på sidste post"
End If

frm1 udskiftes med navnet på den aktuelle form.
Avatar billede mugs Novice
09. august 2004 - 14:11 #2
"eller er gået længere tilbage end post"
Hvordan kan man det?

Man kan jo godt gå forbi sidste post, idet man jo så opretter en ny. Hvis brugerne ikke må oprette en ny post, kan du sætte formularens egensbab "TilladTilføjelser" til Nej. Hvis du blot vil fortælle brugeren, at denne er ved at oprette en ny post, kan du bruge flg.:

If Me.NewRecord = True Then
MsgBox "Du er ved at oprette en ny post."
End If

Hvilket tillader brugeren at fortsætte med oprettelsen.
Avatar billede mugs Novice
09. august 2004 - 14:13 #3
Hvis du vil lave dine egne fejlmeddelelser, kan du i koderne indsætte:

On Error go to errorhandler
og her flg din kode
errorhandler:
If err.no = 2501 then
MsgBox "Meddelelse der svarer til fejlen"
end if
Avatar billede Slettet bruger
09. august 2004 - 14:17 #4
Det virker, men du'r ikke i dette tilfælde. Meddelsen kommer når man åbner formularen, meddelelsen kommer når man forsøger at oprette en ny post (det er formularen også sat til når man åbner den, dvs. ny post).

Meddelses skal jo nærmest komme istedet for Access's meddelse.
Avatar billede Slettet bruger
09. august 2004 - 14:19 #5
Hov, jeg skal lige tjekke disse to nye kommentarer
Avatar billede Slettet bruger
09. august 2004 - 14:25 #6
Du har givet mig nok ammunition til at lave det jeg ønsker, men når man åbner formularen, starter den med at sige ...første post og derefter siger den ...sidste post, fordi jeg har sat den til at starte op på ny post.

Der skal jo helst ikke komme nogen meddelse, når man åbner formularen...
Avatar billede mugs Novice
09. august 2004 - 14:30 #7
Det skal den også. Du bad om en kode når flg var opfyldt:
"forbi den sidste post "
og det gør denne del:

If Me.NewRecord = True Then
DoCmd.GoToRecord acForm, "frm1", acPrevious, 1
MsgBox "Du står nu på sidste post"

Og på den første post:

If Me.CurrentRecord = 1 Then
MsgBox "Du står nu på 1. post"
End If

Så koden er korrekt nok. Det er nok nærmere spørgsmålets definition, du skal se lidt på :o)
Avatar billede Slettet bruger
09. august 2004 - 14:35 #8
Ja... Jeg ville vil bare holde fat i dig, undskyld...

Hvis du kan hjælpe mig med det sidste, så må jeg jo slippe 15 points ekstra.

Så hvis du kan fortælle mig hvordan man undgår meddelserne når man åbner formularen, så ligger jeg 15 point ud til dig.

Tak for hjælpen.
Avatar billede mugs Novice
09. august 2004 - 14:43 #9
Jeg skrev at formularen skulle indsættes ved hændelsen VedAktuel. Denne hændelse opstår, når du skifter post OG når du åbner formularen. Derfor duer koden ikke I VedAktuel, fordi du åbner formularen i den tilstand hvor du tilføjer en ny post.

Prøv denne i VedAktuel:

If MsgBox("Vil du oprette posten?", vbYesNo) = vbNo Then
MsgBox "Du har valgt ikke at oprette en ny post." & vbNewLine & vbNewLine & "Formularen lukkes."
docmd.close
end if
Avatar billede mugs Novice
09. august 2004 - 14:45 #10
Yderligere point er ikke nødvendig. Jeg har lidt flere en dig, og iøvrigt går jeg nu ud på min terrasse med en kølig, så jeg vil ikke kunne besvare.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester