17. september 2002 - 15:13Der er
10 kommentarer og 2 løsninger
Begrænsning på linier i listbox
Jeg har behov for at få vist fra ca. 80000 rækker data og opefter på min form. På nuværende tidspunkt benytter jeg en listbox, som jeg lige har fundet ud af ikke kan vise alle 80000 rækker. Er det noget man kan regulere eller er der begrænsninger på hvor meget en listbox kan vise?
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.
Overskueligheden er sådan set OK - men du kan have ret i at et Datagrid ville have bedre effekt. Problemet er bare at edb-systemet jeg laver er til medicinalindustrien, hvor systemudvikling er langsommelig. At samme grund ville det gøre det meget lettere for mig hvis jeg i min Access-applikation kan nøjes med de standardkomponenter Access har. Dvs. ingen ekstra references i mine moduler, hvilket et Datagrid jo ville kræve.
Derfor spørger jeg igen :o) - kan en listbox klare 80000 rækker og gerne mere?
Det er også en mulighed - men det smarte med en listbox er at man dynamisk kan ændre dens rowsource direkte med angivelse af en tekststreng. Jeg vil gerne undgå overhovedet at have nogle "fysiske" forespørgsler i min db.
Min kode hvor jeg definerer rowsource ser ud som følger:
'Set SQL string to specify all tags fra TagData strSQL = "SELECT DISTINCT TagData.TagName FROM TagData;" 'Update listbox lstTags.RowSource = strSQL
Jeg mener ikke at man med en underformular kan ændre objectsource med en SQL-sætning direkte. Så vidt jeg husker skal det være en "fysisk" tabel eller forespørgsel. Hvis jeg husker forkert, eller I har andre gode forslag så skriv endelig igen.
Du kan ændre recordsouce på underform således: Private Sub Kommandoknap1_Click() Me.Ufrm.Form.RecordSource = "select * from tabel1" Me.Ufrm.Form.Requery End Sub
'Ufrm' er bavnet på objektet underform på hovedformen og IKKE nødvendigvis navnet på din underform.
Kontrollen med de 80000 rækker i skal man også kunne markere udvalgte rækker. Kunden systes bedst om listboksen og har accepteret at den kun kan vise rækker svarende til en integers størrelse.
Takker for point. Kan nu ikke forstå at du ikke fik den underformular til at virke.
mht. listboxe har jeg, for at begrænse mængden af data, brugt flg. SQL:
SELECT TOP 10 * FROM Tabel WHERE ID Not In (SELECT TOP 20 ID FROM TAbel order by [etAndetFelt]) ORDER BY [etAndetFelt]);
Ved dynamisk at ændre tallet '20' viser listen 10 poster ad gangen (i dette tilfælde 21 - 30)
Niels
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.