Avatar billede kasper_knaldperle Nybegynder
16. august 2005 - 19:43 Der er 13 kommentarer og
1 løsning

Afkryds felter i forespørgsel, afhængig af combobox

Hvordan kan jeg udfra et valg i en combobox, placere et "ja" som kriterie i en forespørgsel?
Hvis jeg har valgt "1" i boxen, skal den sætte kriteriet til "ja" i forespørgslens felt "rk1".
Hvis jeg har valgt "2" skal kriteriet være "ja" i felt "rk2".
Der skal kun være 1 "ja" hver gang.

Kan I forstå hvad jeg mener??

/Kasper
Avatar billede kasper_knaldperle Nybegynder
16. august 2005 - 19:47 #1
pt. har jeg 12 forespørgsler, og en lille kode på combo'en, der siger at "rowsource" skal være dit, hvis valget er dat...og det virker ærlig talt en smule kluntet, at have næsten den samme if-sætning, 12 gangen under hindanden, og ikke mindst 12 næsten ens forespørgsler. *hjælp*
:D
Avatar billede mugs Novice
16. august 2005 - 20:01 #2
Jeg tror at din db i sin grundlæggende form er konstrueret forkert.
Du skriver, at der kun skal være et "ja" hver gang, og som jeg fortolker det, er det den samme post.

Du kan evt. benytte en gruppeboks, der kun giver dig mulighed for at vælge een værdi. Denne værdi bliver returneret til tabellen som en numerisk værdi. Hvis du vil have en tekstboks til at vise "Ja" eller "Nej", kan du bruge en Select Case i boksens Vedklik.
Avatar billede terry Ekspert
16. august 2005 - 20:16 #3
There may be an easier solution, but I would use this method myself!

In a module

If MyCombo = 1 Then

CurrentDb.QueryDefs("YourQueryNameGoesHere").SQL = "SELECT...... WHERE rk1 = 'ja'"

Else

CurrentDb.QueryDefs("YourQueryNameGoesHere").SQL = "SELECT...... WHERE rk2 = 'ja'"


End if

NOTE: NOT tested
Avatar billede terry Ekspert
16. august 2005 - 20:17 #4
and I am assuming that rk1 and rk2 are text fields not booleon
Avatar billede kasper_knaldperle Nybegynder
16. august 2005 - 20:28 #5
Ok...jeg har nok ikke forklaret mig så grundigt :D
En post indeholder 12 "ja/nej"(boolean). Et vilkårligt antal kan være afkrydset. Aktuelt er det en række skabeloner, der kan bruges i et antal sammenhænge. Brugeren kan så definere i hvilke sammenhænge en bestemt skabelon kan bruges.
Udfra valget skal man så præsenteres for lige præcis de skabeloner, der har "ja" i det valgte felt.

Jeg er ikke klar over, om det kan laves smartere...det kan det sikkert :D
Avatar billede mugs Novice
16. august 2005 - 20:30 #6
Så kan du ikke bruge min løsning.
Avatar billede terry Ekspert
16. august 2005 - 20:38 #7
kasper>If I undersaymd your problem correctly you want to change the SQL in the query depending on what value you have chosen in the combo. If this is correct then the solution (example) I have given does just that! It obvioulsy needs to be modified to take into account ALL possible values in the combo!
Avatar billede terry Ekspert
16. august 2005 - 20:39 #8
and because it is a boloean then you need to use

"... WHERE WHERE rk1 = -1"
Avatar billede terry Ekspert
16. august 2005 - 20:40 #9
so in the combos AFTER UPDATE event you need to perform the code which changes the SQL in the query!
Avatar billede terry Ekspert
16. august 2005 - 20:51 #10
"... WHERE WHERE rk1 = -1" = "... WHERE rk1 = -1"
Avatar billede kasper_knaldperle Nybegynder
16. august 2005 - 21:31 #11
ok...den vil ikke som jeg vil, men du er inde på det helt rigtige Terry.
Jeg har:
If Me!Kbox1 = 1 Then
  CurrentDb.QueryDefs("qryA").SQL = ("Dette her er jeg i tvivl om")
End If

Kriteriet i kolonne "rk1" skal sættes til "sand", eller hvad det nu måtte være.
Hvad ska der stå, der hvor jeg er i tvivl?
:D
/kasper
Avatar billede terry Ekspert
16. august 2005 - 21:43 #12
.SQL = "This contains the SQL as it is in the query when you set the criteria for rk1"

Example:

CurrentDb.QueryDefs("qryA").SQL = "SELECT * From YourTable WHERE rk1 = -1"

If the SQL is long then an easier method would be to make a copy of qryA and name it qryB. Remove any criterie from the query. Now change qryA to

"SELECT * from qryB"


Now use

If Me!Kbox1 = 1 Then
  CurrentDb.QueryDefs("qryA").SQL = "SELECT * FROM qryB WHERE rk1 = -1"
End If


Hope that all makes sence?
Avatar billede kasper_knaldperle Nybegynder
16. august 2005 - 21:50 #13
Ja...det giver mening...nu tror jeg sq det lykkedes :D
Det kræver lidt mere tilretning, men det skal nok virke, og du får dine velfortjente point.
Avatar billede terry Ekspert
16. august 2005 - 22:04 #14
Thanks Kasper

drop a comment if you need further help. Will take a look tomorrow, I'm off for a beer :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