Avatar billede plato Juniormester
01. marts 2014 - 13:31 Der er 7 kommentarer og
1 løsning

Slet række i tabel ud fra ID, vba

Jeg prøver at lave en slette knap i vba, men den vil ikke rigtig virke. Knappen vises ud for hver datalinie i en continues form.

dbs.Execute "DELETE * FROM tblProces WHERE ProcId = [Me.ProcId]"
MsgBox "Din primære kompentence er slettet."

Me.ProcId er feltet ProcId i formen. Vidste ikke lige om det skulle være Me.ProcId eller bare ProcId. (En mulig forklaring på Me.?) Har prøvet begge dele.

ProcId er Primær nøgle i tabellen.
Avatar billede -anders- Juniormester
01. marts 2014 - 13:43 #1
Hej Plato, prøv med nedenstående

dbs.Execute "DELETE * FROM tblProces WHERE ProcId = " & Me!ProcID
MsgBox "Din primære kompentence er slettet."
Avatar billede mugs Novice
01. marts 2014 - 13:54 #2
Eller med en SQL affyret i VBA:

DoCmd.RunSQL "DELETE FROM tblProces  Where  tblProces ProcId= " & Me.Procid & ""
Avatar billede plato Juniormester
01. marts 2014 - 14:16 #3
-anders- Din løsning virkede desværre ikke.

Mugs:
Din løsning kommer med fejlen:
Syntax error (missing operator) in query expression 'tblproces ProcId=188'.

Jeg kan jo så se den læser ProcId til sidst som den skal.
Avatar billede plato Juniormester
01. marts 2014 - 14:18 #4
Mugs, lavede den om til
DoCmd.RunSQL "DELETE FROM tblProces  Where ProcId= " & Me.Procid & ""

Så virkede det. Men er der en mulighed for at undgå Access's standard advarsel?
"You are about to delete 1 row(s) from the specific table.. bla bla bla." og så bare gå videre til min egen msgbox?
Avatar billede plato Juniormester
01. marts 2014 - 14:22 #5
Fandt selv ud af at fjerne standard advarsel. :)

Mugs smid et svar. :) Og tak.
Avatar billede mugs Novice
01. marts 2014 - 14:26 #6
Tak for point.
Avatar billede -anders- Juniormester
01. marts 2014 - 14:34 #7
Hej Plato

Super at du fik løst det. Blot for opklaringens skyld er procID angivet som tekst eller tal i tabellen?

mugs! dejligt at se at du stadig er aktiv på gode gamle eksperten.dk :-)
Avatar billede mugs Novice
01. marts 2014 - 15:18 #8
Hej Anders - Tak for din "hilsen"

Plato: Når du anvender DoCmd setWarnings False, skal du huske at slå advarslernerne til igen, da de ellers vil forblive frakoblede i hele applikationen.

Det er ikke nødvendigt med en sletteknap ud for hver post. Når du bruger det reserverede ord Me, vil du slette den post som markøren er placeret i. Du kan så nøjes med én knap i f.eks. formularfoden.
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