Avatar billede al_pacone Nybegynder
14. juli 2006 - 10:38 Der er 13 kommentarer og
1 løsning

Bliver post brugt?

Jeg bruger følgende kode til at slette poster i min tabel.

lSql = "Delete From Tbl_K_Kategori Where K_No = " & Me.lstListe
CurrentDb.Execute lSql

Hvis posten bliver brugt andet sted i databasen, sker der ikke noget. Ikke nogen fejl eller andet. Koden fortsætter bare uden at slette posten. At den ikke sletter posten er helt fint, men det ville være rart med en meddelelse.

Hvordan tjekker man om en post bliver brugt eller ej?
Der skal tjekkes i flere relaterede tabeller.
Avatar billede terry Ekspert
14. juli 2006 - 10:45 #1
do you have any error handling in the code?
Avatar billede terry Ekspert
14. juli 2006 - 10:45 #2
maybe

docmd.setwarnings false ???
Avatar billede terry Ekspert
14. juli 2006 - 10:49 #3
you can also use

currentdb.RecordsAffected to see how many records wer actually deleted
Avatar billede terry Ekspert
14. juli 2006 - 10:49 #4
.
Avatar billede al_pacone Nybegynder
14. juli 2006 - 14:14 #5
Jeg får jo netop ikke nogen fejlmeddelelse, hvilket ville være fint hvis jeg gjorde. For så ville jeg vide at posten ikke kan slettes, fordi den bliver brugt andet steds i databasen.

Der er ikke nogle records der er berørt af koden, da der jo ikke bliver slettet.
Avatar billede terry Ekspert
14. juli 2006 - 16:38 #6
Can we see all of the code?
Avatar billede terry Ekspert
14. juli 2006 - 16:39 #7
Error HANDLING may be turning the error's OFF
Avatar billede al_pacone Nybegynder
14. juli 2006 - 16:52 #8
Her er min fejl håndtering.
Der bliver ikke genereret en fejl.
err.number = 0

on error goto errhandler
Min kode
errhandler:
if err.number <> 0 then
msgbox "Fejl"
end if
Avatar billede terry Ekspert
14. juli 2006 - 17:30 #9
then I suggest you use

currentdb.RecordsAffected
Avatar billede al_pacone Nybegynder
14. juli 2006 - 18:54 #10
Der er ikke nogle records der bliver ændret eller slettet.

Det eneste jeg bare gerne vil, er at give brugeren besked om at posten ikke kan slettes, fordi den bliver brugt andet steds i databasen.
Avatar billede al_pacone Nybegynder
14. juli 2006 - 18:55 #11
currentdb.RecordsAffected = 0
Avatar billede terry Ekspert
15. juli 2006 - 09:42 #12
If no error occurs then you dont have an error text (err.description) to show th euser, and you will hav eto mak up your own.

So if RecordsAffected = 0 then you can tell the user that
1: No records exist with that key
or
2: The record is inuse in other realted tables
Avatar billede al_pacone Nybegynder
15. juli 2006 - 10:12 #13
Selvfølgelig.
Hvis currentdb.recordsaffected = 0 er posten ikke blevet slettet og hvis currentdb.recordsaffected > 0 så er posten blevet slettet.

Jeg havde bare en idé om et stykke kode, der kunne fortælle mig om posten er i brug eller ej, inden jeg forsøger og slette.
Avatar billede al_pacone Nybegynder
15. juli 2006 - 10:13 #14
Tak for hjælpen.
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