Avatar billede mundt Nybegynder
11. oktober 2002 - 14:44 Der er 6 kommentarer og
1 løsning

Forsinke opdatering af listbox

Jeg har en listbox hvori jeg viser mange rækker data. Disse data vises på baggrund af; 1) hvilke rækker der bliver valgt (markeret) i en anden listbox; 2) hvilket starttidspunkt der er indtastet i en tekstboks; 3) hvilket stoptidspunkt der er indtastet i en tekstboks.
Når jeg trykker på en knap begrænses antallet af rækker i førstnævnte listboks, i forhold til det der er valgt som parametre (den anden listbox, og de to tekstbokse).

Når jeg trykker på knappen er det ikke altid at min listbox bliver opdateret. Hvis den ikke bliver opdateret indeholder den ingen rækker. Hvis den bliver opdateret indeholder den de rækker som den skal.

Listboksen bliver opdateret ved at sætte dens rowsource property, se forneden. (Nedenstående hører selvfølgelig til knappens click event).

    strSQL = "SELECT TagData.TagName, TagData.LogTime, TagData.Value, TagData.Time " & _
            "FROM SelectedTagNames LEFT JOIN TagData ON SelectedTagNames.TagName = TagData.TagName " & _
            "WHERE (((TagData.Time) Between [Forms]![frmTextSearch]![txtStartTime] And " & _
            "[Forms]![frmTextSearch]![txtStopTime]))" & _
            "ORDER BY TagData.TagName, TagData.LogTime;"
   
    lstSelectedTags.RowSource = strSQL
    lstSelectedTags.Requery

Det er lige som om at forespørgslen ikke kan nå at blive afviklet før min listbox bliver opdateret.

Er der nogen som har haft et tilsvarende problem, og/eller en løsning på problemet?
Avatar billede terry Ekspert
11. oktober 2002 - 14:57 #1
try
DoEvents
Avatar billede mundt Nybegynder
11. oktober 2002 - 20:59 #2
Det hjælper ikke med DoEvents.

    lstSelectedTags.RowSource = strSQL
    lstSelectedTags.Requery
    DoEvents

Det mærkelige er at når jeg tracer igennem min kode bliver listbox'en opdateret hver gang.
Kan man uden at anvende en timer forsinke opdateringen af listboxen?
Avatar billede terry Ekspert
11. oktober 2002 - 21:06 #3
lstSelectedTags.RowSource = strSQL
DoEvents
lstSelectedTags.Requery

I cant see exactly waht is happening but if you could send the dB to me then I may be able to see the problem

terry@santhell.dk
Avatar billede mundt Nybegynder
14. oktober 2002 - 22:31 #4
Jeg har nu fundet en løsning.

Hvis jeg skriver lstSelectedTags.Requery en gang mere som:

    lstSelectedTags.RowSource = strSQL
    lstSelectedTags.Requery
    lstSelectedTags.Requery

opdateres listboksen. Dog syntes jeg at det kører lidt langsomt, men det er OK. Udover en underformular er der da andre gode alternativer som er bedre eller lige så gode som en listboks?
Avatar billede terry Ekspert
14. oktober 2002 - 22:42 #5
I would keep to your listbox. Although I can NOT understand that two .requerys are needed.
Avatar billede mundt Nybegynder
14. oktober 2002 - 22:58 #6
Det kan jeg heller ikke - meget mystisk. Bare det virker er det fint nok!

Mundt
Avatar billede terry Ekspert
15. oktober 2002 - 12:48 #7
thanks :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester