Avatar billede susanne_larsen Nybegynder
27. maj 2006 - 20:52 Der er 29 kommentarer og
1 løsning

Søgning på subform

Forsøger at søge på en subform, men har problemer

Har flg tabeller

tblDistrikt
Distrikt (P)
+ flere data


tblLokation
Lokation (P)


tblDistriktLokation
DistriktRef (PF)
LokationRef (PF)


Har så oprettet en form med tilhørende subform, hvor hovedformen trækker på data fra tblDistrikt og subformen fra tblDistriktLokation

Må kunne lade sig gøre at oprette en ubunden combobox (cboFindLokation) og så finde lokationer i subformen. Men kan sgutte få det til at du :/
Det bliver værre og værre S****

Har sat Comboen til at have tblLokation som rowsource.

På hændelsen AfterUpdate har jeg forsøgt mig med en række kombination, men det duer ikke. Der må skulle oprettes en DISTINCTROW med en INNER JOIN for at få det til at funge.
Sidste rodede forsøg ser sådan her ud....


Private Sub cboFindLokation_AfterUpdate()
   
    Dim strSQL As String
    If IsNull(Me.cboFindLokation) Then
        Me.RecordSource = "tblLokation"
       
        Else
           
            strSQL = "SELECT DISTINCTROW tblDistrikt.*, tblDistriktLokation.LokationRef FROM tblDistrikt INNER JOIN tblDistriktLokation ON tblDistrikt.Distrikt = tblDistriktLokation.DistriktRef " & "WHERE DistriktLokation.LokationRef = " & Me.cboFindLokation & ";"
                     
           
            Me.RecordSource = strSQL
    End If
           
End Sub


Er der nogen der har en løsning????
Avatar billede mugs Novice
27. maj 2006 - 22:29 #1
Lige kommet hjem efter arbejde siden Kl 05:00 imorges, er jeg ikke den store Access-haj. Men hvis det er en option at filtrere din subform efter mainform's combo, kan du gøre det således:

Me!subform.Form.filter = "cboFindLokation =  '" & cboFindLokation & "'"
Me!subform.Form.FilterOn = True
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 10:17 #2
:( øv virker ikke

Me.SubForm.Form.Filter = "cbofindLokation = '" & cboFindLokation & "'"
Me.SubForm.Form.FilterOn = True

giver fejlen Method or datamember not found

skriver jeg således

Me!frmDistriktU.Form.Filter = "cboFindLokation =  '" & cboFindLokation & "'"
Me!frmDistriktU.Form.FilterOn = True

fjernes alle info på subformen....

rowsource er i begge tilfælde sat til
SELECT tblDistriktLokation.LokationRef
FROM tblDistriktLokation;
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 10:18 #3
Hjælper heller ikke at sætte firkantparanteser rundt om cboLokation....

Sætter lige lidt flere p på højkant. Det må kunne lade sig gøre :)
Avatar billede -anders- Juniormester
28. maj 2006 - 10:26 #4
Måske denne viker:

Form_NavnPåDinSubform.Filter = Me!cboFindLokation
Form_NavnPåDinSubform.FilterOn = True

Metoden her spørger således ikke på subobjektet på din mainform, men selve klassenavnet på din subform
Avatar billede -anders- Juniormester
28. maj 2006 - 10:27 #5
Prøv at lægge koden på comboens AfterUpdate event
Avatar billede -anders- Juniormester
28. maj 2006 - 10:35 #6
Her som SQL, igen spørges der udelukkende på klassenavnet på din subform:

Dim sSQl as String
sSQL = "Select * From [Navn på tabel eller forspørgsel]Where [Lokation]= '" & Me!cboFindLokation & "'"

Form_NavnPåSubform.Recordsource = sSQL
Avatar billede -anders- Juniormester
28. maj 2006 - 10:40 #7
Prøv evt at kikke på Thomas Jepsen hjemmside www.makeiteasy.dk under menuen download findes der et fremragende eks. som reff. meget til dit spørgsmål vedr. søgning/filtering på main eller subforms.
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 10:42 #8
>>Anders devsærre giver fejlen invalid outside procedure. Finder det altid interessant alle de fejlmedd. man kan fremprovokere ;)

Private Sub cboFindLokation_AfterUpdate()
       
    Form_frmDistriktU.Filter = Me!cboFindLokation
    Form_frmDistriktU.FilterOn = True

End Sub
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 10:46 #9
prøver lige det forslag 10:35 og vender tilbage....
Avatar billede -anders- Juniormester
28. maj 2006 - 10:46 #10
Okay jeg har testet her og det virker, så det må være noget i dit dbdesign der driller. Hvis det er ren access, er du velkommen til at sende filen så vil jeg gerne tage et kik på den du finder min mailadresse ved at klikke på mit brugernavn
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 10:50 #11
giver desværre samme fejl -- invalid outside procedure

Private Sub cboFindLokation_AfterUpdate()
   
    Dim sSQl As String
    sSQl = "Select * From [tblLokation]Where [Lokation]= '" & Me!cboFindLokation & "'"

End Sub

prøver lige at kigge nærmere på dit link...
Avatar billede -anders- Juniormester
28. maj 2006 - 10:52 #12
hmm mystisk fejlen indikere jo at du forøge at afvikle noget vba kode udenfor en procudure. Jeg tror ikke der er noget galt med kodeeks.
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 11:17 #13
Mja syntes sgi også det er lidt underligt det her. Måske det er fordi jeg har sat rowsource forkert....
Har ingen problemer med at filtrere på hovedformen vha en anden ubunden combo.

Vil meget gerne tage imod dit tilbud, hvis du har lyst til at kigge på basen...
Avatar billede -anders- Juniormester
28. maj 2006 - 11:20 #14
Gerne, du kan sende den til mig på anj@bryggemail.dk husk at zippe den :o)
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 11:29 #15
Oki hermed gjort. Fylder nu ikke så meget endnu. Har hevet tabeller, forespørgsler mv. over i en ny base....

Er spændt på hvad du finder frem til....
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 11:45 #16
Mhh det er sp om du skal have flere tabeller med, for at kunne fremprovokere de fejl jeg får... Sgi sp om det er min normalisering der er tosset :D

du får lige en anden mail med samtlige tabeller ;)
Avatar billede -anders- Juniormester
28. maj 2006 - 11:49 #17
Okay, men fejlen i første omgang var:

Din form frmDistriktU som fungere som subform på mainformen frmDistrikt kunne ikke modtage kode dette løses ved at sætte Har modul til Ja under fanebladet andre i formdesign :o)
Avatar billede -anders- Juniormester
28. maj 2006 - 11:54 #18
Du skal også skifte recordsource i koden til den forspørgsel der bruges som postkilde til subform nedestående testet og virker:

Dim sSQl As String
sSQl = "Select * From qryDistriktU Where [LokationRef]= '" & Me!cboFindLokation & "'"

Form_frmDistriktU.RecordSource = sSQl
Avatar billede -anders- Juniormester
28. maj 2006 - 12:02 #19
db returneret og rettet til :o)
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 12:16 #20
øhmmm ked af at sige det, men det virker skitte her.....
Hvis jeg fx vælger en lokation der er tilknyttet Syd, vises der ingen records....

Kan det have noget at gøre med at jeg tester i Access 2000???
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 12:19 #21
Nåehhh for pokker.... Det er fordi jeg ikke har forklaret mit problem ordentligt -- sorry!!!!
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 12:21 #22
Hvis du først vælger at sortere på Distrikt i min første combo OG så vælger at sortere på lokation i den anden combo, så findes recorden godt nok....

Men det er ikke det jeg ønsker.... Hvis der søges via cboFindLokation ALENE, skal der hoppes til pgl. distrikt OG lokationen skal vises.....
Avatar billede -anders- Juniormester
28. maj 2006 - 12:22 #23
Nej det er ikke versionsproblemer, jeg prøver lige at skrue et mere dynamiks eks. sammen vha. at benytte metoden som jeg henviser til i indlæg 28/05-2006 10:40:31
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 12:27 #24
Hehe takker for din tålmodighed. Der skal vist flere p efter dette her sp....
Avatar billede -anders- Juniormester
28. maj 2006 - 12:43 #25
Eks. sendt med filterfunktion på subform
Avatar billede -anders- Juniormester
28. maj 2006 - 12:46 #26
Sorry så ikke dit indlæg 28/05-2006 12:21:18, dette gør mit sidste forslag ikke, men det betyder ikke at det ikke kan lade sig gøre :o)
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 13:55 #27
1000 tak for hjælpen. Var ikke noget at sige til, at jeg var kørt fast :D

Rigtig smart med det modul der er oprettet, så man kan genbruge det til både søgning af txt, fritekst, tal og dato...
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 13:56 #28
Lægger du et svar Anders??
Avatar billede -anders- Juniormester
28. maj 2006 - 13:57 #29
Selv tak, ja det er meget dynamisk og samtidig nemt at bruge. Jeg håber at mine eks. databaser hjælper dig videre med projektet :o)
Avatar billede susanne_larsen Nybegynder
28. maj 2006 - 17:21 #30
Ja helt bestemt.
Man kan aldrig have for mange eksempler at slå op i :)
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