Avatar billede terib Nybegynder
11. juli 2003 - 08:30 Der er 7 kommentarer og
1 løsning

Knap der sletter

Hej
Jeg har en DB hvor der hverdag tastes data ind i 2 tabeller.
En gang hvert år kunne jeg godt tænke mig at slette alle data (kun data - ikke selve tabellerne) i de to tabeller.

Tabellerne hedder Tdata1 og Tdata2. Der er ingen relationer der hindrer sletning.
Hvordan gør jeg det ?

På forhånd tak.
11. juli 2003 - 08:32 #1
Lav en knap med denne kode:

Docmd.Setwarnings false
docmd.RunSQL "Delete From TData1"
docmd.RunSQL "Delete From Tdata2"
docmd.Setwarnings true
Avatar billede henrik13 Nybegynder
11. juli 2003 - 08:38 #2
Lav en knap, gå i hændelser for knappen, og skriv denne kode:

Docmd.Setwarnings False
CurrentDb.Execute "DELETE FROM TData1"
CurrentDb.Execute "DELETE FROM TData2"
Docmd.Setwarnings True

Vh Henrik13
Avatar billede terib Nybegynder
11. juli 2003 - 08:42 #3
Takker mange gange - et lille spørgsmål mere - hvad nu hvis jeg vil have en advarsel op , kun lige for at være sikker ? Oprettere det gerne som et andet sprgsmål, hvis det er !
11. juli 2003 - 08:42 #4
Terib-> Så fjerner du bare første og sidste linie.

Henrik->Din kode duer kun, når der benyttes DAO (Access 97)
Og når du bruger CurrentDb.Execute i stedet for DoCmd.RunSQL, så behøver du ikke Docmd.Setwarnings False

FYI
Avatar billede terib Nybegynder
11. juli 2003 - 08:45 #5
thomasjepsen - takker det virker !
Avatar billede henrik13 Nybegynder
11. juli 2003 - 08:46 #6
>>thomasjepsen
Tak for tipset, det er en kode jeg har plukket fra en stor kode i 97, og konvateret den til xp.  :o)
11. juli 2003 - 08:54 #7
Henrik-> Generelt er Currentdb.Execute genial, da man netop slipper for slå advarslerne fra. Endvidere giver det nogle flere muligheder for at styre hvordan den skal opføre sig, ligesom man har mulighed for at få information om præcis hvormange poster, som blev slettet, tilføjet eller opdateret.

Herunder et eks. på dette:

Dim db as database
Set db = Currentdb
db.Execute "Delete From TData1"
msgbox db.recordsaffected " poster blev slettet!"

Men det virker som sagt kun hvis der er en reference til DAO.

Til ADO hedder den bare:
CurrentProject.Connection.Execute ".....", men fungere en anelse anderledes (faktisk lidt dårligere end den gamle DAO-model)

Sikke jeg snakker....dette var blot en service-meddelelse :o)
Avatar billede henrik13 Nybegynder
11. juli 2003 - 08:57 #8
Og jeg takker for informationerne.  :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