Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-09 18:37:25 - Kjell Öhman, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 790 personer

I en tråd skapad av Jörgen Fransson framförde Andreas Hillqvist metoden att fylla en Flexgrid med användande av TextMatrix och stegning genom hela griden. Data hämtas från en Accessdatabas med hjälp av en SQL-sats. När jag fyller min Flexgrid använder jag en Adodc som laddas med en SQL-sats från en Accessdatabas. Det handlar alltså om att använda antingen TextMatrix eller en Adodc för att fylla Flexgriden. Koderna för båda varianterna framgår av tråden som Jörgen F startade.
Vilken metod är snabbast?
Kan jag vänta mig en stor prestanda förbättring om jag skiver om mitt program till TextMatrixmetoden?
Tacksam för synpöunkter och erfarenheter...


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-11 13:15:26 - Jesper Thörn

Kan du inte göra ett test genom att klocka det hela?
Getrows är ju i många fall snabbt.


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-11 17:43:33 - Heinz Svedling

Jag använder mig av MSHFlexGrid.
Databasen innehåller ca 40000 poster.
Tar ca 3-5 sekunder att fylla en MSHFlexGrid

MSHFlexGrid egenskaper

FixedRows = 1
FixedCols = 0
Rows = 2
Columns = Så många kolumner du behöver ' I det här fallet 3


Kod för att fylla MSHFlexGrid

MSHFlexGrid1.Recordset = det öppnade recordsetet
MSHFlexGrid1.FormatString = "<Artikelnummer |<Benämning1 |<Benämning2 " ' Skriver rubriker
MSHFlexGrid1.ColWidth(1) = 1000
MSHFlexGrid1.ColWidth(2) = 2000
MSHFlexGrid1.ColWidth(3) = 2000


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-11 20:19:15 - Sven Åke Persson

Skulle vara mycket intressant att höra vad du får för tid om du gör så här
<code>
MSHFlexGrid1.Visible = False
MSHFlexGrid1.Recordset = det öppnade recordsetet
MSHFlexGrid1.FormatString = "<Artikelnummer |<Benämning1 |<Benämning2 " ' Skriver rubriker
MSHFlexGrid1.ColWidth(1) = 1000
MSHFlexGrid1.ColWidth(2) = 2000
MSHFlexGrid1.ColWidth(3) = 2000
MSHFlexGrid1.Visible = True
</code>


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-11 21:14:23 - Kjell Öhman

Jag återkommer i sinom tid med en rapport, men dröjer kanske några dagar...


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-16 21:07:43 - Kjell Öhman

Jag har nu fter vissa bekymmer lyckats använda den av Andreas H föreslagna metoden att fylla en MSHFlexgrid med hjälp av TextMatrix-metoden. i korthet blev resultatet på min dator följande tider:

Hämtning av data från Access. I steg 1 fylls en Adodc och i steg 2 fylls HSHFlexgriden
Starttid från klick på programikon till dess första formen öppnar: medianvärde 15 sek (max 22, min 14)

Hämtning av data från Access. Med hjälp av TextMatrix stegas igenom ett recordset och griden fylls
Starttid från klick på programikon till dess första formen öppnar: medianvärde 10 sek (max 11, min 9)

TextMatrix-metoden var alltså signifikant bättre. Det är den metod jag fortsättningsvis kommer att använda.

SvenPon ville att jag skulle prova med att göra fyllningen av grid med property Visible = False och jämföra med att ha gridproperty Visible = True.
Resultatet visade ingen signifikant skillnad på min dator, i varje fall ingen mätbar skillnad!
Tiden tagen med armbandsklocka och är natruligtvis inte exakt


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-17 10:56:33 - Niklas Jansson

Tänkte bara säga att det är bättre att mäta i programmet istället. Handlar det bara om att faktiskt mäta något vid ett tillfälle så är timer helt ok, det behövs inget API.

Gör en loop där du kör din grej ett antal gånger, och sen dividerar du tiden det gick emellan med antalet gånger.

<code="vb">
StartTid = Timer
For i=1 to 10
'Gör din grej
Next
TidFörEn =( Timer-StartTid)/10
</code>

(Kan naturligtvis göras adaptivt och som en separat funktion som tar hänsyn till funktionsanrop också, men då kan man lika gärna köra API-funktionerna. Intressant idé för övrigt...)

En annan grej också: Försök undvika väntetider under programmets öppning.


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-17 12:59:36 - Kjell Öhman

Niklas! Vad menar Du med
<b>
En annan grej också: Försök undvika väntetider under programmets öppning.
</b>


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-17 13:17:55 - Niklas Jansson

Att det är dumt att det tar ett antal sekunder innan själva programmet öppnas. Visa en Splashscreen där du visasr vad som händer under uppladdningen, eller öppna själva formen. Man kan missuppfatta det som att programmet har låst sig.

Försök få programmet att reagera så fort som möjligt, och gör sen tidskrävande processer.


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-17 13:36:54 - Kjell Öhman

OKdå förstår jag vad Du menar. Jag håller helt med Dig. Därför öppnas en splashscreen omedelbart som anger viss info för användaren. Den tid jag avsåg var tiden från klick tills dess huvudformen öppnas.
Från början hade jag 15 sekunder starttid, med TextMatrix kom jag ner till ca 10 sek och idag har jag trimmat Accesddatabasen på olika sätt. Dessutom fyller jag bara med 1000 poster direkt (av sammanlagt drygt 90000). Tiden är nu nere i ca 7 sek, vilket jag tycker kan vara acceptabelt. I varje fall vet jag inget sätt att ytterligare korta ner tiden.

15 sek på min dator motsvaras av en starttid på 5 min 30 sek på en Win98 med P3-proc och 128 MB. Många av mina användare kan tänkas ha äldre datorer och då är starttiden viktig


Svara

Sv: Effektiv inläsning av data till Flexgrid, vilket är bäst?

Postades av 2004-08-18 11:11:04 - Ola Lindfeldt

testat detta... ?

FlexGrid1.Clip = rs.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)

Ola


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 710
27 958
271 751
571
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies