Avatar billede kjar75 Nybegynder
15. oktober 2002 - 16:15 Der er 12 kommentarer og
1 løsning

Forespørgsel - med flere kriterier

Jeg har en forespørgsel med 3 felter...

Hvordan kan jeg, enten i en formular eller forespørgsel - vælge et kriterie fra hvert felt, som herefter fremkommer med en "resultatliste" ???
(til hvert felt hører en tabel med data)

Løsningen skulle gerne munde ud i, at man evt. får en "dialogboks" frem, hvor man for hvert felt har mulighed for at vælge et kriterie i en "rullemenu"
- og herefter få en liste med resultatet !!!
Avatar billede henrik13 Nybegynder
15. oktober 2002 - 16:32 #1
Hej
I forespørgslen i hvert felt under kriterier skriver du:
Like [Søgeord]
Vh Henrik
Avatar billede henrik13 Nybegynder
15. oktober 2002 - 16:35 #2
Hej
I stedet for søgeord kan du også skrive felteds navne ex.:
Like [Resultatliste]
Vh Henrik
Avatar billede lasse_buck Nybegynder
15. oktober 2002 - 17:45 #3
Lidt kryptisk formuleret...
Skal man selv indtaste de tre værdier? Det lyder som om du vil have 3 combo-boxe (drop-down lists), hvor du kan vælge alle muligheder fra en liste.
???

Du skriver, at der er tre felter (og derfor også tre tabeller). Er der kun et felt i hver tabel?
Avatar billede kabbak Professor
15. oktober 2002 - 19:56 #4
lav en ubundet formular
i den laver du de 3 combo-boxe
de skal hente data fra hver sin tabel
gem formularen men hold den åben
minimer formularen og lug din forespørgsel op
nu kan du under kreterier generer vælge din formular og combo.
vælg formularer indlæste formularer og der kan du se dine combo,
dem skal du så vælge 'like' under de relevante kolonner.
husk i dine combo ved change at skrive me.update.

du kan nu indsætte en underformular som henter sine data fra forespørgslen, den vil så ændre sig efter hvad du vælger i comboerne.

underformularen skal ikke have noget i overordnet og underordnet.
Avatar billede terry Ekspert
15. oktober 2002 - 21:23 #5
OK, this is something I use myself, it should give you some ideas.

You have one or more combo boxes. In each of the combo boxes AFTER UPDATE paramaters you enter

=NewFilter()

This calls the following function which builds the forms filter property.


Function NewFilter()
Dim sFilter As String

    sFilter = "1 "
   
    If Not fldIsEmpty(Me.cboBy) Then
        sFilter = sFilter & " AND TownID = " & Me.cboBy
    End If
   
    If Not fldIsEmpty(Me.cboGade) Then
        sFilter = sFilter & " AND StreetID = " & Me.cboGade
    End If
   
    If Not fldIsEmpty(Me.cboType) Then
        sFilter = sFilter & " AND TypeID = " & Me.cboType
    End If


   
    Me.Filter = sFilter
   
    If sFilter = "1 " Then 'No filter
        Me.FilterOn = False
    Else
        Me.FilterOn = True
    End If
   
   
    Me.Refresh
   
   
End Function
Avatar billede terry Ekspert
16. oktober 2002 - 19:38 #6
kjar75 hows it going here?
Avatar billede kjar75 Nybegynder
17. oktober 2002 - 10:16 #7
<terry> Okay.. Jeg er desværre ikke med. Her er mine tabeller - det gør det måske lidt mere overskueligt!!

tbl.leverandør
leverandørnummer
navn

tbl.legeringer
legeringsnummer
legering

tbl.produkter
produktnummer
produkt

tbl.leverandør_produkt_legering
leverandørnummer
legeringsnummer
produktnummer

Den sidste tabel er en "opsamlingstabel" !!

I min søgeformular har jeg så følgende...
leverandørnummer
navn
legeringsnummer
legering
produktnummer
produkt

I denne formular, skal man så via en liste/combo kunne vælge en leverandør (opslagstabel fra tbl.leverandør) - og herefter få listet alle de produkter & legering for den respektive leverandør !!!

Håber forklaringen hjælper !!!

Terry - har du "koden" for dette ??
Avatar billede terry Ekspert
17. oktober 2002 - 10:18 #8
it may be easier for you to send me the dB!
eksperten@santhell.dk
Avatar billede terry Ekspert
17. oktober 2002 - 13:01 #9
OK I have altered the function to
Function NewFilter()
Dim sFilter As String

    sFilter = "1 "
   
    If Len(Me.cboLev) > 0 Then
        sFilter = sFilter & " AND LEVERANDØRNUMMER = '" & Me.cboLev & "'"
    End If
   
    If Len(Me.cboProduct) > 0 Then
        sFilter = sFilter & " AND PRODUKTNUMMER = '" & Me.cboProduct & "'"
   
    End If
   
    If Len(Me.cboLeg) > 0 Then
        sFilter = sFilter & " AND LEGERINGSNUMMER = '" & Me.cboLeg & "'"
    End If
   
    Me.Filter = sFilter
   
    If sFilter = "1 " Then 'No filter
        Me.FilterOn = False
    Else
        Me.FilterOn = True
    End If
   
    Me.Refresh
   
End Function
Avatar billede terry Ekspert
17. oktober 2002 - 19:37 #10
have you received my last mail?
Avatar billede terry Ekspert
07. november 2002 - 19:30 #11
kjar, this question has been open almost a month now, are you going to close it?
Avatar billede kjar75 Nybegynder
12. november 2002 - 12:02 #12
Ked af den sene tilbagemelding...
Men 1000 tak for det perfekte svar :-))
Avatar billede terry Ekspert
12. november 2002 - 12:03 #13
better late than never :o)
tak!
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