06. december 2002 - 12:39Der er
22 kommentarer og 1 løsning
Søgning i poster i tabel
Jeg har en form, der indeholder en søgefunktion, således at man kan søge gennem alle poster i en tabel, 'Stamdata'. Jeg har en form, 'Stamdata', der har en knap der åbner søgevinduet, 'Søg'. Problemet er at den husker det data der ligger i forespørgslen, 'qrySoeg'. Jeg skal derfor bruge en Form_OnLoad()-funktion, der tømmer indholdet af søgeforespørgslen (den vil jeg også bruge, hvis man i vinduet trykker på knappen 'Ny Søgning'.
Jeg forsøgte først med en Delete-query: Delete * From qrySoeg
Are you showing the search result in a query? as far as I can see the query "looks" at your form (Like '*' & [Forms]![Søg]![TxtSoeg] & "*";) so if ths txtsoeg has changed then the result "should" change too!
Desværre... Selv zippet fylder den langt mere end jeg kan sende i en mail (13MB) :o/
Men problemet er følgende: Når jeg åbner vinduet, der kører queryen første gang er der ingen problemer. Så snart jeg søger og finder f.eks. 100 poster i tabellen og herefter lukker søgevinduet vil jeg gerne have queryen til at tømmes. Det gør den ikke! Næste gang jeg åbner søgevinduet står alle de tidligere søgeresultater der! Kan jeg ikke tømme al data når jeg lukker søgevinduet? Tidligere søgte jeg på en fiktiv tekststreng (<>$@*/#¤), for at få søgningen til at blive nulstillet, men dette er en laaaangsom (og dårlig) løsning, når databasen nu er så stor.. Hvis det stadig ikke giver mening, kan jeg evt. sende dig nogle screendumps af vinduerne?
a query contains NO data! it only shows the result of the SQL statement. So there MUST be some data on the form. Make sure the fields on the form are empty, I am sure they are not, or there is something you are not telling me :o)
You could try compacting the dB and THEN zip it, this helps some times. Or make a copy of the dB with only the forms etc. I need
Problemet viser sig faktisk (nu hvor jeg ser nærmere efter) at være at når søgevinduet åbnes vises alle ca. 54000 poster(!) Er det fordi den automatisk kører queryen når vinduet åbnes, og returnerer alle poster der har et blankt felt? Problemet har derfor ændret sig markant, sorry! Jeg skal have faktisk blot sikre mig at queryen ikke afvikles når vinduet åbnes?
Sorry for the wild goose chase! Men jeg vil MEGET gerne vide hvordan jeg undgår at alle posterne vises når vinduet åbnes? Det er nemlig en meget langsommelig proces!
Private Sub Form_Open(Cancel As Integer) If TxtSoeg.Value <> Null Then [Søg Subform].Requery Else TxtSoeg.Value = "Indtast søgeord" [Søg Subform].Requery End If
Har du evt. nogle forslag til hvorledes jeg ellers kan optimere søgningen, når der er 54.000 poster? Det tager laaaang tid at få et resultat, når man søger på en tekststreng..
I would make a form where it is possible to enter criteria for only those fields you want to search on. Then build the SQL Dynamically. Your method has to make one long string of ALL fields your searching on and then see if th estring you entered is in that string. Quite smart actually, but VERY slow.
I have placed answers on searching in other questions, so you should be able to find something.
Super! Endnu en gang tak for din hjælp! Go' weekend! /U.K.
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.