Avatar billede ammm Nybegynder
20. februar 2009 - 00:15 Der er 6 kommentarer

Forespørgsel

Hej. Har en forholdsvis simpel tabel i en Access-database. Denne tabel indeholder samtlige data og der er ikke andre tabeller.

Opgaven består nu i at indrette det således at man kan lave en forespørgsel på et felt+kriterium der ikke er kendt på forhånd (fordi det varierer fra gang til gang). Den ene gang kunne det være man ville søge på samtlige poster i tabellen hvor DATO=19-02-2009 og den næste dag kunne det være AVIS=JYLLANDSPOSTEN eller noget andet. Det varier fra gang til gang.

Jeg ved hvordan man manuelt går ind i databasevinduet, klikker forespørgsel, opret i designvisning bla bla, men kunne det mon indrettes så snedigt at når access starter får man muligheden for fx at klikke 'forspørgsel' og derefter bare vælger i en eller 2 rul-ned-lister hvad man vil søge på og hvad kriteriet skal være?
Avatar billede mugs Novice
20. februar 2009 - 06:28 #1
I din formular med baggrund i forespørgslen, kan du oprette 2 kombinationsbokse, der viser dig alle poster i tabellen.

I forespørgslen kan du så referere til disse combobokse på denne måde:

=[Forms]![Formularnavn]!]Combonavn]

Men det fordrer, at du har data i begge combo. Alternativt, kan du se på hjemmesiden her:

http://www.makeiteasy.dk/Home.asp

Oppe til højre under downloads, ruller du ned til "Dynamisk søge-og filtreringsfunktion". Det er en fremragende funktion lige til at downloade og implementere i din egen applikation.
Avatar billede ammm Nybegynder
21. februar 2009 - 00:49 #2
Perfekt!! Det virker helt som det skal. Lige 2 mindre ting.

Jeg har lavet en formular med 2 knapper der starter når databasen åbnes. 1 knap til indtastning og 1 knap til søgning. "Problemet" er så at selvom databasen starter op i denne formular viser den stadig databasevinduet ved siden af/bagved. Kan man opdrage databasen til at skjule det ved opstarten?
Avatar billede ammm Nybegynder
21. februar 2009 - 00:53 #3
Årh jo..den anden ting:

I en særskilt tabel har jeg lavet en liste med 3 felter (id, navn og cprnummer)

I den formular jeg har lavet til indtastning er navnet en af de ting der skal vælges fra en rul-ned-menu. Derunder har jeg placeret et tomt felt som jeg havde forestillet mig der automatisk skulle udfyldes med cprnummeret på den person man har valgt i den tidligere boks. Kan man mon få den til det??
Avatar billede mugs Novice
21. februar 2009 - 11:24 #4
Start op:

Lav en makro der åbner din formular, derefter en handling mere der maksimerer den. Luk makrodesignet og navngiv makroen autoxcec. Når Access åbnes vil programmet søge efter en makro med dette navn, findes den vil de programmerede handlinger blive afspillet.

Den anden ting..

Du kan bruge funktionern DLookUp såfremt der ikke er nogen relation mellem tabellerne. Men noget siger mig, at dit felt til CPR ikke har forbindelse bagud i tabellen, så hvad vil du bruge CPR til i denne forbindelse.
Avatar billede ammm Nybegynder
22. februar 2009 - 13:37 #5
Lad os sige man har en tabel med felterne NAVN og CPR
hvori der står alle medarbejderne i et firma.

I en ny tom tabel ønsker man nu via en formular at indsætte alle de medarbejdere der skal på et bestemt kursus.

Så opretter man formularen og den tomme tabel med de nødvendige felter og deriblandt minimum felter til navn og cpr.

Efter indtastning af cpr skal formularen så selv kunne hente navnet og indsætte dette i det rigige felt ved at trække på oplysningerne fra den første tabel der indeholder de rigtige "datapar" af navn og cpr...

Det er måske ikke det bedste eksempel, nu var det bare for at skabe en situation hvor et felt bliver udfyldt automatisk når man indtaster i et andet.
Avatar billede mugs Novice
22. februar 2009 - 14:15 #6
Denne nye tabel skal indeholde CPRNR og intet andet. Vi kalder den TBLkursus. Join den med TBLmedarbejdere med CPRNR

I TBLmedarbejdere med både CPR og NAVN, opretter du et felt f.eks. et Ja/Nej felt og markerer dette med et flueben hvis den enkelte medarbejder skal på kursus.

Insert sætningen kan se således ud:

INSERT INTO TBLkursus ( CPRNR )
SELECT TBLmedarbejder.CPRNR
FROM TBLmedarbejder
WHERE (((TBLmedarbejder.Kursus)=True));
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