30. november 2000 - 11:15Der er
15 kommentarer og 1 løsning
kriterie i forespørgsel
Er det muligt at oprette et kriterie i en forespørgsel der sammenligner en dato i forespørgslen med et felt i en formular. Jeg har tidligere benyttet følgende udtryk: >=([Forms]![frmSearchActivityFromJournalist]![txtLastDay]) med det resultat at den listbox, der skulle vise de fundne værdier, var tom (gætter på at det er fordi at checket udføres så snart formularen åbnes - og der er feltet jo så tomt. Det kunne man så løse ved at sætte en standardværdi for txtLastDay, men det er ikke tilfredsstillende). Jeg prøvede, i stedet for kriteriet i forespørgslen, at lave følgende kode:
Dim strSQL As String
strSQL = \"SELECT * from qselSearchActivityFromJournalist WHERE AC_START <= #\" _ & txtFirstDay & \"#\" DoCmd.RunSQL strSQL
Det virkede dog heller ikke, da SQL-strengen ikke er lovlig, set i forhold til RunSQL.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
det du ydeligere skal kontrollere er at dine bundne kolonner i dit felt i formularen er korrekte anført. Se evt. det SQL statement der er rlateret til dit opslag i feltet samt hvordan feltet vises fysisk ( bredden 0;2,54cm)
Den overvejede jeg selv, men Like på en dato kan vel kun resultere i en eksakt værdi? Jeg har nemlig oprettet en inputmaske for det tekstfelt der bruges til indtastning af dato.
Når tekstfeltet er opdateret, køres en Me.requery på formularen (som også indeholder en listbox, der afspejler min forespørgsel - qselSearchActivityFromJournalist)
Jeg vil lige være 100% sikker på at vi forstår hinanden :) så jeg skærer lige situationen helt ud i pap:
Jeg har en formular frmSearchActivityFromJournalist, som indeholder 6 kontrolelementer: 2 tekstfelter til indtastning af hhv. start- og slutdato for den periode der skal søges i, 1 combobox til at vælge en aktivitetstype, 1 tekstfelt til titlen på aktiviteten, 1 tekstfelt til navnet på aktiviteten og 1 tekstfelt til stedet hvor aktiviteten fandt sted. Derudover har jeg en listbox, hvis datakilde er forespørgslen qselSearchActivityFromJournalist. Når indholdet af tekstfelterne eller comboboxen er opdateret, kaldes Me!lstHits.Requery (lstHits = listboxen).
I qselSearchActivityFromJournalist har jeg følgende kriterier: Type: Like Nz([Forms]![frmSearchActivityFromJournalist]![cboActivityType]+\"*\";\"*\")
Titel: Like Nz([Forms]![frmSearchActivityFromJournalist]![txtTitle]+\"*\";\"*\")
Sted: Like Nz([Forms]![frmSearchActivityFromJournalist]![txtPlace]+\"*\";\"*\")
Disse 3 virker glimrende og jeg mangler så bare et få nogle kriterier der sammenligner med felterne txtFirstDay og txtLastDay i frmSearchActivityFromJournalist.
kriterier der altså finder alle de værdier af nøglen AC_START i qselSearchActivityFromJournalist som er en nyere dato end den der er indtastet i txtFirstDay. Tilsvarende for txtLastDay
nej det er rigtigt forstået men der vil vel stadig være et problem med at listboxen er tom fra start af, da tekstfelterne for startdato og slutdato er tomme når formularen åbnes. Between kan vel ikke håndtere tomme værdier (kunne jeg forestille mig)
det du kan gøre ( bruger det selv ) er at du bruger en OR kommando.
enten skal den være between x;y OR is null.
Jeg anvender denne i forbindelse med combo boxe for at se alle værdier inden et opslag foretages.
nu kan jeg se at du giver 60 point for dette svar... Jeg takker fordi det jo ikke løser dit problem.!!! sig endelig til såfremt jeg kan hjælpe ydeligere.
nej det løser det ikke men det kommer nok tæt på. Hvis jeg ikke kan bruge det til noget, har jeg imidlertid en helt anden ide som jeg ved virker, men nu ville jeg prøve dette først.
between x;y kombineret med en værdi angivet ved formLoad
Synes godt om
Ny brugerNybegynder
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.