18. juni 2008 - 07:28Der er
21 kommentarer og 2 løsninger
Variable - hvordan overføres de
Vi bruger access som klient op imod en ms sql database.
Jeg skal lave et kviksøgefelt(formen KvikSøg), hvor man skal kunne søge på fornavn og/eller efternavn eller medarbejdernummer.
KvikSøg kalder formen Medarbejdere, der bliver fyldt op med data fra ms sql databasen.
Mit problem er hvordan overfører jeg de tre variabler der indeholder Fornavn, Efternavn og nummer, først fra KvikSøg til Medarbejdere, siden til databasen?
Jeg plejer at bruge php og mysql, men nu skal det altså være accsess og mssql.
There is one "Filter og søgefunktion" which you should be able to use.
Synes godt om
Slettet bruger
18. juni 2008 - 10:12#3
ja, det er et godt redskab, du skal lige sætte det op korrekt, såeh... På med vanten?~)
Men jeg kom lige til at se noget... du vil ikke altid udfylde alle 3 søgefelter, men hvis du ikke gør det, så vil du ikke få noget resultat (i forbindelse med mit tidligere svar).
Derfor skal dine kriterier se ud som følger:
like "*" & forms!kviksøg!fornavn & "*"
så virker det faktisk også som fritekst søgninger, hvilket ofte er en fordel!~)
Synes godt om
Slettet bruger
18. juni 2008 - 10:15#4
noget andet er at du burde have det i samme formular, både søgefelter og resultater. Så ligger du bare flg. kode på EfterOpdaterings hændelsen på dine søgefelter:
me.requery
Så vil søgesættet opdateres hvergang du ændrer i et søgefelt!~)
Det vil blive mere dynamisk og så begynder det at minde om en simpel udgave af den "Filter og søgefunktion", som terry nævner...
forms!kviksøg!fornavn formattet virke fint, men jeg får en fejl når der ikke er skrvet noget i tekstfeltet.
Jeg vil helst skulle søge i databasen med noget der ligner: SELECT * FROM medarbejderdate WHERE fornavne = @fornavne OR efternavn = @efternavn OR nummer = @MedarbejderNummer
Men måske bliver jeg nød til at splitte søgningen op i to, da det ikke er logisk at søge på et nummer og et fornavn, idet nummeret burde være unikt.
Synes godt om
Slettet bruger
18. juni 2008 - 12:30#6
Har du prøve med
like "*" & forms!kviksøg!fornavn & "*"
nu er det selvfølgelig ms sql, så måske er det mere henad:
like '%' & forms!kviksøg!fornavn & '%'
Synes godt om
Slettet bruger
18. juni 2008 - 12:31#7
Det gode med de sidste kriterier er netop, at de kan være tomme, for så vil der bare blive søgt på 2 jokere, dvs. alt!~)
Jeg er altså glad for i gider hjælpe mig, men nu siger chefen, at der skal filtreres på klientniveau!!?
Jeg henter altså Medarbejder formen med alle medarbejdere i således: DoCmd.OpenForm "Medarbejder", , , , , , "Alle"
Bagefter viser jeg kun dem jeg vil bruge sådan: DoCmd.OpenForm "Medarbejder", , ,"Efternavn = 'Hansen'" , , , "Alle"
Ovenstående virker, men kan kun finde Hansen'er
Så to ting:
1) Hvordan undgår jeg at Formen Medarbedere først klimtvis vises med alle medarbejdere i?
2) Gør funktionen lidt mere brugbar, så man kan søge på alle efternavne; Efternavn = KvikMenuKvikSøgEfternavnTekst.value DoCmd.OpenForm "Medarbejder", , ,"Efternavn = Efternavn" , , , "Alle" - virker nemlig ikke (som jeg ville have forventet)!!?
if you want I can send a simple example which dynamically changes the forms filter property depending on what is selected from combo boxes/text fields used for entering search critera
Men den der bruger databasen for først et glimt af formen med alle medarbejdere i, inden der bliver filtreret. Det ville jeg gerne undgå, men kan ikke lige se hvordan.
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.