Avatar billede martch17 Nybegynder
04. juni 2010 - 09:51 Der er 4 kommentarer

Hvordan får man en makro til at udføre flere opdaterings - og tilføjelsesforespørgsler?

Hej

Sådan lidt overordnet beskrevet leder jeg efter en makro, som starter op med en formular, hvor jeg angiver hvilken tabel jeg ønsker at udføre x antal specificerede forespørgsler på.

Når jeg trykker på udfør laver den herefter de specificerede forespørgsler.

Den første forespørgsel er en opdateringsforespørgsel, som ændrer punktummet i datoformattet til bindestreg, men fastholder datoformatet åååå-mm-dd

Den næste forespørgsel laver en tabeloprettelse med en udtrykstekst i et bestemt felt, som renser for bestemte data. Den nye tabel skal hedde det samme som den gamle dog med tilføjelsen "renset"

Nå men jeg har flere forespørgsler, som jo kan indsættes, hvis jeg lige får modellen til at lave en makro.

Håber på god hjælp - da jeg godt er ved at få en ordentlig musearm ;o)
Avatar billede mugs Novice
04. juni 2010 - 10:10 #1
Du behøver vel ikke nogen makro.

Du kna lave en kommandoknap, og i dennes OnClick hændelse programmere de forskellige handling efter hinanden. Hvis du vil køre en forespørgsel er syntaksen:

DoCmd.OpenQuery "Forespørgslens Navn"
DoCmd.OpenQuery "Næste forespørgsel"

O.s.v. Når du opdaterer, vil du få advarsler om, at du er ved at opdatere x-antal poster. Det kan du komme ud for ved at bruge kommandoen Docmd.SetWarnings = False før eksekveringen af koden, og sætter Warnings til True efter.
Avatar billede martch17 Nybegynder
04. juni 2010 - 10:42 #2
Hej Mugs

Hvordan kan jeg specificere hvilken tabel jeg ønsker at køre makroen på. Det forholder sig således, at der vil være tabeller som enten mangler at få kørt forespørgslerne eller har fået den kørt. Og der er jeg ikke interesseret i at køre forespørgslerne på dem igen.

Så jeg skal ligesom have muligheden for at vælge hvilken tabel og derefter køre forespørgslerne. Gerne i form af en formular med en rulleliste over de indeværende tabeller og allerhelst kun dem, som mangler at kørt forespørgslen.



De bedste hilsener

Martin
Avatar billede mugs Novice
04. juni 2010 - 13:06 #3
Du definerer jo i forespørgslerne, hvilken tabel opdateringen skal køres på.

Hvis du har en combo (rulleliste), kan du referere til denne således:

DoCmd.Openquery & Me.Rulleliste
Avatar billede martch17 Nybegynder
04. juni 2010 - 14:07 #4
Hej Mugs.

Min arbejdsgang er typisk den, at jeg får x - antal filer, som jeg herefter importerer i en ny access database. Hver eneste filer skal herefter gennemgå de samme bestemte opdateringsforespørgsler.

De har dog alle de samme feltnavne

Derfor vil jeg egentlig skulle have nogle nogle forespørgsler, som ikke har en defineret tabel.

Som jeg umiddelbart ser setuppet, så skulle jeg i en formular angive den tabel, som jeg ønsker at køre en række forespørgsler på. Herefter ville den så i hver forespørgsel angive denne tabel og gennemføre de angive opdateringer eller tilføjelser.

Når jeg så skal lave rensning på en ny tabel, så går jeg til formular vinduet og vælger denne tabel og gennemfører på ny forespørgsler ved at klikke på udfør, som herefter eksekverer makroen.

De bedste hilsener

Martin
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