Avatar billede moba Nybegynder
27. maj 2003 - 14:44 Der er 8 kommentarer og
1 løsning

Filter i forespørgsel

Hej, jeg har siddet med dette problem ret længe. Og fik et tip om ekspert.dk.
Jeg har i en forespørgsel anvendt et filter
[indtast nr] som promter automatisk når forespørgslens kørers. Problemet er, at jeg gerne vil kunne indtast ex nr 4, 7, 12. Altså et udpluk af tabelle. Jeg kan sagten via eks. IN([indtast nr 1],[indtast nr 2]) få flere indputbokse frem, men denne løsning er ikke god nok, det er helle ikke godt nok at lave det fra en formular, selvom dette ville være meget nemt.
Håber en "ekspert" derude har en løsning på problemet.
Mvh
Morten
27. maj 2003 - 14:58 #1
Jeg kan ikke se, at du kan løse problemet uden at bruge VBA og/eller en formular.

Problemet er vel, at du ikke ved hvor mange numre, brugeren har tænkt sig at indtaste!
Derfor ville jeg lave en VBA-funktion, som benytter en rigtig inputbox til lade brugeren indtaste numrene med komma mellem. Derefter indsætter du SQL'en i en query eller kører den direkte fra VBA.

Noget i denne stil:

DIm SQLStr as string
Dim Værdier as string

Værdier = Inputbox("Angiv de ønskede værdier adskildt med komme")
If Værdier = "" then Exit sub
SQLStr = "Select * From DinTabel Where ID in (" & Værdier & ")"
Currentdb.Querydefs("Din forespørgsel").SQL = SQLStr

'...gør derefter hvad du vil med forespørgslen


mvh
Thomas
27. maj 2003 - 15:00 #2
NB: Koden kræver reference til Microsoft DAO 3.x Object Library hvis du skal skrive SQL'en direkte i forespørgslen.
Hvis det f.eks. er en opdateringsforespørgsel, du ønsker at opbygge, så kan du jo skyde den afsted direkte fra koden vha: Docmd.RunSQL SQLStr
Avatar billede moba Nybegynder
27. maj 2003 - 15:02 #3
Hej Thomas, det var nok det svar jeg frygtede. Jeg har forsøgt mig med et sådan løsningsforslag, og det virker naturligvis også upåklageligt, men det er ikke godt nok i min situation. OG du har ret i at jeg ved ikke hvor mange numre brugeren ønsker at taste.
27. maj 2003 - 15:03 #4
Kan du forklare hvorfor det ikke er godt nok????
Avatar billede moba Nybegynder
27. maj 2003 - 15:31 #5
Jeg har ikke så meget tid nu, men det skyldes grundlæggende, at jeg har ca 60 breve/rapporter hvor mange af dem kræver foreskllige indputdata, nr, id, dato land etc. Derfor vil jeg have det til at kører fra en menu, hvor den enkelte bruger dobbeltklikker på et brev og indtaster det/de af en kommandopromt efterspurgte data.
27. maj 2003 - 15:47 #6
Tja, men jeg mener nu stadig, at det er den rigtige måde. Det gælder jo om at opbygge koden i generelle funktioner, som kan genbruges flere gange.
Men der ligger selvfølgelig lidt arbejde i det.
Men ingen har jo sagt, at det skulle være nemt ;o)
Avatar billede terry Ekspert
27. maj 2003 - 17:40 #7
mobo> Your almost asking the impossible. You want it to be easy for users but not prepared to for example make a form so to make it easier for them. If none of the answers you have received are good enough then perhaps a redesign of your application would help :o)
Avatar billede moba Nybegynder
27. maj 2003 - 18:14 #8
Hi terry, I would not be asking the question if knew it was impossible. I am well aware how you through a form and the use of VBA can work it out, I was asking the question not knowing wheter the solution perhaps could be a seperation key etc in the command promt. Thanks for you answers anyway.
27. maj 2003 - 18:38 #9
Tak points :o)
Men du havde nu ikke behøvet at give flere point....især ikke når du jo ikke opnåede det, du ville.

Men held og lykke med det :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