15. januar 2000 - 02:24Der er
11 kommentarer og 1 løsning
Søg i en formular - How?
Det jeg har brug for er at jeg kan skrive en søgning i et tekst felt i en formular, og derefter trykke på en knap. Og på den måde få Access til at søge efter det i en tabel, og vise mig en ny tabel med resultatet. Endnu bedre ville det være hvis jeg kunne få access til konstant at søge efter det der står i tekstfeltet, så jeg får resultaterne ligesom når man trykker F1 og bruger index muligheden.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
privaten >> Gider du ikke kort fortælle hvordan du vil gøre det med en makro. Jeg har lavet det et par gange i VB nu, men det er ret besværligt at generere en sql-statement i VBA baseret på hvad der er indtastet i forskellige felter.
Hmmm, jeg ved ikke helt hvordan jeg skal bruge code builder (udtryksgenerator).
Det besværlige i at generere en sql-statement er hvis du har en række felter der skal medgå i din søgning, så får du et eller andet i retning af:
sql = "select * from tabel1 left join tabel2......." if not markbox1 = 0 then sql = sql & "where fornavn='" & fornavnbox & "'" if not markbox1 = 0 and not markbox2=0 then sql = sql & " and efternavn='" & efternavnbox & "'" else sql = sql & "where efternavn='" & efternavnbox "'"
...og så videre. Selvom det godt kan laves en lille smule smartere, så bliver det alligevel irriterende at læse en lang sql statement med den syntaks...
Hvis du nu brugte funktioner til den slags kan det gøres meget elegant...:
' --------------------------------------------------------------- ' Denne funktion genererer det SQL der skal bruges i søgekriterie ' --------------------------------------------------------------- Function mySQL() As String Dim m1SQL(-1 To 0) As String ' true = -1, false = 0
opret en forespørgsel åp baggrund af din tabel. åbn denne i design visning og angiv i kriterier for det enkelte felt en udtryksgenerator. i udtryksgenerator vælges formularen samt tekstfeltets navn. ( såfremt du ønsker at anvende wildcards starter du din udtryksgenerator med LIKE....osv. i din formular opretter du en underformular baseret på din forespørgsel. det eneste du nu mangler er at opdatere underforlaren når du har skrevet noget. Dette gøres ved i designvisning og egenskaber for din tekstboks at lave en macro der er lig med "vis alle poster ". denne macro skal træde i funktion unde egenskaben " ved klik" på dit tekstelement.
Udtryksgenerator er hammer go' når man ikke forstår sig 100 % på SQL eller VB.
Du skal være velkommen til at henvende dig igen på nt@solar.dk
-> Region: "Du er meget tæt på at få pointene, men før jeg accepterer, er der lige en ting jeg vil vide. Kan man få den til automatisk at forvente et * efter det jeg har skrevet. Sådan at når jeg skriver fx. civ så opfatter den det som civ*"
Jeps, tak skal du have, men jeg synes nu stadig at det er bøvlet. VB/VBA syntaks er lidt irriterende at læse, når den sammensættes med "&" og variabler. Hvis du skal have genereret en 8-10 liniers sql-statement på baggrund af nogle indtastede værdier og udelade ikke-indtastede værdier i andre felter, så bliver det altså bøvlet.
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.