Avatar billede susanneandersen Nybegynder
06. februar 2008 - 13:11 Der er 15 kommentarer og
1 løsning

Macro til at slette flere linier i en tabel

Hej. Jeg har oprettet en tabel med eksempelvis 10 linier i januar (month) 2007 (Year) - og måske 8 linier i februar 2007.
Jeg ønsker at lave en macro, der kan slette alle data der indeholder januar 2007.
Jeg har fået lavet en macro - men desværre kan jeg kun få den til at slette 1 record af gangen. Er der nogen der kan hjælpe mig med, hvordan jeg kan slette alle med en given måned og et givent år. Jeg forestiller mig, det er en query der skal til, men hvordan får jeg indsat kriteriet "delete"?
Avatar billede susanneandersen Nybegynder
06. februar 2008 - 13:13 #1
Glemte at sige, det er i Access 2003 :-)
Avatar billede jensen363 Forsker
06. februar 2008 - 13:19 #2
DELETE Table.Month, Table.Year
FROM Table
WHERE (((Table.Month)="Januar") AND ((Table.Year)="2007"));
Avatar billede mugs Novice
06. februar 2008 - 13:26 #3
For ikke at skulle åbne forespørgslen i designvisning og indtast måned og år, kan du bruge inputbokse:

DELETE Tabel1.Month, Tabel1.Year
FROM Tabel1
WHERE (((Tabel1.Month)=[Indtast måned]) AND ((Tabel1.Year)=[Indtast år]));
Avatar billede susanneandersen Nybegynder
06. februar 2008 - 13:29 #4
Det jeg har gjort, er at jeg har lavet en "combo box" der giver mig h.h.v. januar og 2007. Dernæst har jeg sat en "form" indsat en command button til at delete. Det jeg ønsker er at min tabel skal slette alt indhold der svarer til dataene i combo boxen :-)
Avatar billede terry Ekspert
06. februar 2008 - 13:29 #5
DELETE * FROM YourTable WHERE Year([DateField]) = 2007 AND Month([DateField]) = 1
Avatar billede susanneandersen Nybegynder
06. februar 2008 - 13:38 #6
Du er godt nok hurtig til at svare. Jeg er desværre ret ny i Access - og forstår ikke helt, hvor jeg skal skrive denne "funktion"

jeg har en "tbl_all_data" hvor jeg ønsker linierne slettet (indeholder mange måneder og år.
Så har jeg en "qryDeleteImported", en frmMacroDeleteImportet, samt en MacroDeleteImported".
Avatar billede terry Ekspert
06. februar 2008 - 13:42 #7
can we see the SQL from qryDeleteImported?


DELETE * FROM YourTable WHERE Year([DateField]) = Forms!frmMacroDeleteImportet.NameOfYearComboGoesHere AND Month([DateField]) = Forms!frmMacroDeleteImportet.NameOfMonthComboGoesHere

NOTE:NameOfYearComboGoesHere and NameOfMonthComboGoesHere need to be replaced by the name of the combo's you have on the form.

And also the SQL assumes that the combos contain a number NOT a text fo rthe month for example "januar"
Avatar billede susanneandersen Nybegynder
06. februar 2008 - 14:05 #8
Hmmmm.
SELECT *
FROM tbl_all_data
WHERE (((Year([Year]))=[Forms]![frmDeleteImportet].[year]) AND ((Month([Month]))=[Forms]![frmDeleteImportet].[month]));

Det er ikke januar, februar osv men 1, 2 og de er text.
Avatar billede terry Ekspert
06. februar 2008 - 14:20 #9
The data in the combo boxes should preferably be the same data types as the fields in the table or what is returned from funstions such as Year() and month()

In query design view you can right click on the criteria field and then choose Build, this starts a wizrad where you can actualy find the form/combo which you wnat to us in the query.
Avatar billede mugs Novice
06. februar 2008 - 14:27 #10
Hvorfor lave ekstra combo og formular, når du kan nøjes med inputbokse i en forespørgsel. Du kan starte forespørgslen med kommandioen i en form:

Docmd.openquery "Forespørgslens navn"

Så vil du blive promptet for indtastning af både måned og år.
Avatar billede susanneandersen Nybegynder
06. februar 2008 - 14:45 #11
Beklager - men jeg gi'r op. Tak for jeres forsøg på at hjælpe mig.
Avatar billede terry Ekspert
06. februar 2008 - 14:48 #12
If you can send your dB to me then maybe I can do it for you?
ekspertenATsanthell.dk

AT = @
Avatar billede mugs Novice
06. februar 2008 - 15:02 #13
Kan du sende db til:

mugs snabelting mail.dk

som en .zip så ser jeg på det senere.
Avatar billede mugs Novice
06. februar 2008 - 15:03 #14
terry > Jeg var ikke lige opdateret - Sorry
Avatar billede terry Ekspert
06. februar 2008 - 15:20 #15
no problem mugs, if you need something to do then its all yours, I have lost to do :o)
Avatar billede mugs Novice
26. maj 2008 - 16:43 #16
Tak for point - Men blev problemet løst?
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