Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 16:33 Der er 14 kommentarer og
1 løsning

Slet aktuel post i vba

Jeg skal have slettet den aktuelle post der vises på formularen via en knap.
Det skal være vba-kode da knappen udfører et par andre ting samtidig.

Er der nogen der kan hjælpe nybegynder??
c",)
Avatar billede mugs Novice
14. juli 2005 - 16:41 #1
DoCmd.RunSQL "DELETE FROM Tabel1 Where Tabel1.id= " & Me.id & ""

Sletter posten hvor id er = formularens id altså current record.
Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 17:02 #2
Jeg skal som sædvanlig holdes lidt i hånden.

Tabel1 udskiftes med navnet på tabellen der indeholder posten?...hvad så hvis posterne kommer fra en forespørgsel?
id udskiftes med formularens navn?
Er det vigtigt med store og små bogstaver?

Jeg har:
DoCmd.RunSQL "DELETE FROM tblDokument Where tblDokument.id= " & Me.frmSletDok & ""
Avatar billede mugs Novice
14. juli 2005 - 17:07 #3
"Tabel1 udskiftes med navnet på tabellen der indeholder posten?"
YES

"hvad så hvis posterne kommer fra en forespørgsel?"
Til sidst kommer alle poster fra en tabel.
Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 17:19 #4
Den skriver noget med "compile error" og markerer "Me.frmSletDok", hvad kan det skyldes.
Formularen hedder frmSletDok, det hjælper heller ikke at kalde den titelteksten.
Avatar billede mugs Novice
14. juli 2005 - 17:22 #5
"Formularen hedder frmSletDok"
Me.xxx refererer til et felt i den aktuelle form (Me), så her skal du have feltnavnet.

"det hjælper heller ikke at kalde den titelteksten"
Nej - Titelteksten er blot noget tilfældigt nedarvet fra tabellen. Feltets navn finder du i fanen Andre øverst tror jeg nok. Men blot der ståe Navn eller Name yderst til venstre så går det nok.
Avatar billede mugs Novice
14. juli 2005 - 17:25 #6
I stedet for det reserverede ord Me, kan du også benytte Access hieraki:

[Forms]![Formularnavn]![Feltnavn]

Hvor du starter foroven i hierakiet med Objektsamlingen [Forms] efterfulgt af navnet på objektet i objektsamlingen [Formularnavn] og til sidst navnet på objektet i objektet. Men unægtelig lidt nemmere med Me
Avatar billede mugs Novice
14. juli 2005 - 17:26 #7
Hmm - Det sidste blev vist lidt "krypteret".
Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 17:33 #8
Ok...jeg er forvirret på et højere plan :D
Nu har jeg kaldt den Me.Filnavn, hvor filnavn blot er et felt i den aktuelle post.
Skal den kun have 1 felt fra posten, der består af 10???

Nu vil den have mig til, at indtaste forskellige ting??!?!
Avatar billede mugs Novice
14. juli 2005 - 17:39 #9
Du får sikkert en popup hvor den beder dig indtaste en parameterværdi. Hvis det er korrekt kan db ikke genkende Me.Filnavn.

Det feltnavn som du indtaster skal eksistere i den tabel du prøver at slette fra.
Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 17:59 #10
Det gør det også...jeg forstår det ikke.
Jeg har:
DoCmd.RunSQL "DELETE FROM tblDokument Where tblDokument.id= " & Me.filnavn & ""

Filnavn er en kolonne i tabellen tblDokumenter!!!

Der hvor den beder mig indtaste skriver den også om tblDokumenter.id.
Det kan være jeg bare skal rode lidt mere med det!!!
Avatar billede mugs Novice
14. juli 2005 - 18:03 #11
Hvis Me.Filnavn er alfanumerisdk skal det se således ud:

DoCmd.RunSQL "DELETE FROM tblDokument Where tblDokument.id= '" & Me.filnavn & "'"
Avatar billede kasper_knaldperle Nybegynder
14. juli 2005 - 18:17 #12
Nu ser det vist ud til at virke :)

Takker mange gange for din hjælp...puhaaa :D
Avatar billede mugs Novice
14. juli 2005 - 18:20 #13
:o)
Avatar billede -anders- Juniormester
14. juli 2005 - 19:39 #14
Du kan også bruge:
DoCmd.RunCommand acCmdDeleteRecord, resultatet bliver det samme, men koden her er lidt kortere :o)
Avatar billede mugs Novice
14. juli 2005 - 19:42 #15
YES - KISS :o)
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