27. marts 2007 - 14:35Der er
18 kommentarer og 1 løsning
brug af IIf i criteria
Jeg har en tabel med et felt der hedder [modtaget]. Feltet kan enten indeholde en dato, eller være blank.
Til søgning i tabellen har jeg en form og en subform. I formen kan man angive søgekriterier, hvorefter alle de poster i tabellen der overholder disse kommer op i subformen.
Hvis der ikke er angivet nogen søgeværdi for [modtaget] i formen, ønsker jeg at subformen skal returnere alle poster. Det mislykkes imidlertid, da jeg kun får returneret de poster der er angivet en dato på, poster hvor [modtaget] er blank kommer ikke op.
Formen hedder soeg og min criteria er:
IIf(IsNull([forms]![soeg]![modtaget]),UDTRYK DER TILLADER ALLE POSTER,([forms]![soeg]![modtaget]))
Dvs. HVIS [modtaget] i formen er tom SÅ vis alle poster, HVIS [modtaget] ikke tom SÅ vis poster der svarer til [modtaget] i formen
Hvilket udtryk vil tvinge access til at vise alle poster, også de blanke?
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Feltet er i hovedformen, jeg har sat en knap i hovedformen, der kalder en macro der vha runcode kalder en public funktion i et modul med den kode du sendte mig.
Jeg får ikke fejlmeddelse længere, men der sker ikke nogen filtrering. jeg tror det har noget med form/subform at gøre
feltet med søgekriteriet ligge i hovedformen, men søgningen sker i subformen. søgningen sker ved at et modul skifter fokus til subformen, hvorefter der sker en requery. subformen er bundet op på en query med de relevante felter.
hvis jeg ikke misforstår din kode helt, så bindes filteret til hovedformen.
Denne kode er hentet fra en anden database hvor jeg filtrerer en underformular efter et felt i mainform. Men detr sker ikke ved et modul. Men prøv at lege lidt med den:
Private Sub Kommandoknap14_Click() Me.subform.SetFocus If Me.FilterOn = False Then DoCmd.ApplyFilter "mitfilter", "kundeemne Like [Navn ?]" Me.Kommandoknap14.Caption = "Fjern filter" Else: Me.FilterOn = False Me.Kommandoknap14.Caption = "Indsæt filter" End If End Sub
Når jeg bruger applyfilter får jeg en fejlmeddelse der siger at formen ikke er bundet op på en tabel eller query. Det kan vel ikke passe, jeg har udvalgt felter fra en ouery i datasource, og når jeg ikke bruger applyfilter kommer resultatet fra query'en fint nok op!
Hvis jeg bruger VBA til at slå filteret fra, så er filteret stadigvæk til, men filter knappen i access ændre hjælpetekst til "apply filter". Så access registrere at filteret slåes til og fra i VBA, men implementere det ikke i formen.
Hvis du har et felt på din mainform (her kundeemne), kan du filtrere underformularen efter dette felt således, ellers har jeg ikke så mange ideer (har heller ikke s¨meget tid i disse dage):
Private Sub Kommandoknap31_Click() Me!subform.Form.filter = "kundeemne = '" & kundeemne & "'" Me!subform.Form.FilterOn = True End Sub
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.