Wolverin Skrevet 14. januar 2007 Skrevet 14. januar 2007 (endret) Jeg har kommet bori et lite problem i Access, og har søkt på google og testet en rekke ulike løsninger. Jeg har laget en base med flere tusen poster i, dette fører til et sterkt behov for en søke mulighet for å kunne plukke ut poster av bestemte typer. Følgende felter skal kunne søkes på: Handling, Dato, Område Her er tanken at ved å klikke på søk, så kommer det opp et eget lite skjema som heter Soke. Dato legges inn i txtFra og txtTil, som er to tekstbokser i dette skjemaet. Tanken er at soke_resultat skjema skal benyttes for å vise de postene som passer etter søkene. Til dette formål benyttes en spørring som henter soke_sporring. Jeg forsøkte meg med følgende kode: Like [forms]![soke]![txtfra] & "*" Denne fungerer fint, men den gir bare den ene datoen. Forsøkte med en Between [forms]![soke]![txtfra] & "*" And [forms]![soke]![txtTil] & "*" Men det fungerer ikke. Noen forslag på noe annet enn å gjøre dette via et recordset i Visual Basic for Applications? Edit: grunnen til * bak datoene, er at dersom dato feltene er tomme, så skal alle datoer aksepteres. Det er tenkt slik at dersom du fyller inn en eller flere av søke kriteriene (dato, hendelse og område.), så skal de postene som matcher vises, og dersom ingen søkekritereie er satt ,så skal alle postene komme som resultat. Endret 14. januar 2007 av Wolverin
ravika Skrevet 14. januar 2007 Skrevet 14. januar 2007 (endret) Hmm... ser ut som det jeg trodde skulle fungere ikke gikk likevel... Endret 14. januar 2007 av t0my
Wolverin Skrevet 14. januar 2007 Forfatter Skrevet 14. januar 2007 ...Jeg forsøkte meg med følgende kode: Like [forms]![soke]![txtfra] & "*" Denne fungerer fint, men den gir bare den ene datoen. Forsøkte med en Between [forms]![soke]![txtfra] & "*" And [forms]![soke]![txtTil] & "*" Men det fungerer ikke. 7719451[/snapback] Du er på rett spor i værtfall. Det eneste du mangler er å sortere vilkårene dine. Når du ser på spørringen i utformningsvisning har du skrevet inn vilkåret nederst. Det vilkåret du har kommet frem til er nesten rett, bare at du må fordele der over to linjer. Linje to blir da "eller" (som d også står helt til venstre) Første vilkår blir da som følger: Between [forms]![soke]![txtfra] And [forms]![soke]![txtTil] Mens vilkår 2 blir: Like "*" 7721416[/snapback] Heisann, og hjertelig takk for svar. Problemet med å legge inn en OR, eller å legge inn på linje nummer 2, det er at da blir det slik at skrives det inn dato på feltene, så slår dem til, også slår neste vilkår inn og lister ut resten av postene som egentlig ikke skal listes ut dersom første vilkåret er utfylt. Eks: 1 post er registert med dato 01.01.2007, dersom jeg skriver 01.01.2007 på txtFra og 01.01.2007 på txtTil, så skal bare denne ene posten komme frem, mens skriver jeg en OR inn, så får jeg først denne ene posten, også får jeg resten av postene etter på.
ravika Skrevet 14. januar 2007 Skrevet 14. januar 2007 (endret) Heisann, og hjertelig takk for svar.Problemet med å legge inn en OR, eller å legge inn på linje nummer 2, det er at da blir det slik at skrives det inn dato på feltene, så slår dem til, også slår neste vilkår inn og lister ut resten av postene som egentlig ikke skal listes ut dersom første vilkåret er utfylt. 7721462[/snapback] Jepp, fant dette ut når jeg skulle teste det ut rett etter jeg postet... Forresten så kan du forbedre den første søkestringen du hadde, som søkte etter en tekststring med Like "*" & [forms]![soke]![txtfra] & "*" Dermed kan den søke etter bokstaver/tall inne i feltet, og ikke bare fra begynnelsen av. Endret 14. januar 2007 av t0my
Wolverin Skrevet 14. januar 2007 Forfatter Skrevet 14. januar 2007 Heisann, og hjertelig takk for svar.Problemet med å legge inn en OR, eller å legge inn på linje nummer 2, det er at da blir det slik at skrives det inn dato på feltene, så slår dem til, også slår neste vilkår inn og lister ut resten av postene som egentlig ikke skal listes ut dersom første vilkåret er utfylt. 7721462[/snapback] Jepp, fant dette ut når jeg skulle teste det ut rett etter jeg postet... Forresten så kan du forbedre den første søkestringen du hadde, som søkte etter en tekststring med Like "*" & [forms]![soke]![txtfra] & "*" Dermed kan den søke etter bokstaver/tall inne i feltet, og ikke bare fra begynnelsen av. 7721492[/snapback] Det var en god ide. Får likevel ikke til å søke bare om feltet er skrevet noe i...
Wolverin Skrevet 14. januar 2007 Forfatter Skrevet 14. januar 2007 (endret) Jepp, fant dette ut når jeg skulle teste det ut rett etter jeg postet...Forresten så kan du forbedre den første søkestringen du hadde, som søkte etter en tekststring med Like "*" & [forms]![soke]![txtfra] & "*" Dermed kan den søke etter bokstaver/tall inne i feltet, og ikke bare fra begynnelsen av. 7721492[/snapback] Jeg har laget en work-around som ordnet dette. Laget en liten sak på komando knappen som heter cmd_sok. Her la jeg inn følgende kode Private Sub cmd_soke_Click() 'DoCmd.Close Dim stDocName As String Dim stLinkCriteria As String If Me.txtFra = "" Then Me.txtFra = "01.01.1900" Me.txtTil = Date End If stDocName = "sok_resultat" DoCmd.OpenForm stDocName, , , stLinkCriteria End Sub Her setter jeg altså at om datoene ikke fylles ut, så settes datoene med et område som fører til at alle datoene i basen vil være mellom disse. På spørringen benyttet jeg da koden Between [forms]![soke]![txtFra] And [forms]![soke]![txtTil] Dette fungerer, men jeg var ikke fornøyd med å gjøre det slik, for det er ikke noen bra programmering slik jeg ser det. Endret 14. januar 2007 av Wolverin
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå