Avatar billede tommytc Nybegynder
26. april 2002 - 20:49 Der er 7 kommentarer

Tager alt for lang tid

Jeg skrev et spørgsmål og fik et nogenlunde godt svar (se link)
http://www.eksperten.dk/spm/199998
Men når jeg ønsker at hive det hele op i textbokse på en ny form er textboksene tomme fordi den stadig ikke har sorteret dataene endnu. Kan kun lade sig gøre hvis jeg : 1: Venter 2 minuter på at starte den nye form eller genstarter hele programmet...Jeg forventede 2-5 sekunder max...ikke 2 minuter. ER der nogen der har en løsning ?

VH Tommy
Avatar billede michaelb Nybegynder
26. april 2002 - 20:57 #1
Nåh det var DET du mente!
Jeg troede at det havde noget med noget nyt at gøre!

Og ikke et videre svar fra spm 199998
.::Michael::.
Avatar billede tommytc Nybegynder
26. april 2002 - 21:15 #2
Det kan ses fra begge sider...Jeg fik et svar, men med det svar opstod et ny problem.
Avatar billede bennytordrup Nybegynder
26. april 2002 - 22:13 #3
Jeg har lige kigget på det forrige emne, og jeg kan overhovedet ikke se hvad, du vil bruge Namer til. Når den opdateres, så sletter du indholdet af den og opretter den derefter via en SQL.

Hvorfor ikke oprette den som en fast forespørgsel? Det er mindst lige så hurtigt som at slette indholdet af Namer og indsætte dem via den SQL, som henter navnene.
Avatar billede tommytc Nybegynder
26. april 2002 - 23:54 #4
Vil være rart hvis du kunne forklarer det med kode og ikke ord...Jeg er ikke ligefrem proff. :D
Avatar billede ocp Nybegynder
27. april 2002 - 09:17 #5
Mon ikke dette skulle kunne gøre det?

select distinct navn,
      antal = ( select count(*) from top top2 where top2.navn like top.navn )
from top
Avatar billede tommytc Nybegynder
27. april 2002 - 20:15 #6
Jeg er lige nødt til at afvise dit svar ocp...Men da jeg som nævnt er ret ny i det med database, har jeg lidt svært ved at forstå din kode. Så her vil jeg forklarer hvad dedt egentlig er jeg ønsker at få udført. Emnet er 'FODBOLD' og det jeg ønsker en en topscoreliste.
På Form1 har jeg kamp1..i denne form er der 9 comboboxe
I combo1 vælger jeg målscoreren til 1-0 eller 0-1
I combo2 vælger jeg målscoreren til 2-0,1-1 eller 0-2 osv osv med de andre 7.
Da der er 9 combo's på hver af de 4 forme kan der max være 36 målscorere, hvor af den samme spiller kan score flere mål i samme kamp.
Målscorene bliver skrevet til en DAO 3.6 database hvor målscoreren jeg vælger i combo1,kamp1 bliver FRASEN101
Set FRASEN101 = WC.OpenRecordset("SELECT Navn FROM TOPSY WHERE IDID='1'")
IDID1-9 bliver altså de 9 målscorere fra kamp1 (hvis der er så mange)
IDID10-18 bliver de 9 næste fra kamp2 osv osv
Koden jeg fik fra Jennaman talte hvor mange gange navne opstod under (TOPSY)Navn og skrev antallet ind i en ny tabel 'TOPS' med følgende Navn,Maal..(Mål)...Problemet er bare at uden at genstarte mit program tager denne process faktisk op til 5 minuter, hvilket næsten gøre problemet større end før. Det mærkelige er at hvis jeg lukker mit program ned og genstarter det efter 1 sekundt, så er dataene sgu opdateret....(Det må lige være noget for Scully & Mulder)..Kan nogen give my en god kode efter samme måde som Jennaman der forklarede det så der ikke var noget at tage fejl af ?(http://www.eksperten.dk/spm/199998)
Avatar billede ocp Nybegynder
27. april 2002 - 23:22 #7
For hvert unikke (distinct) navn i topsy (den jeg kalder top) gennemløber jeg hele tabeller og tæller hvor mange gange det navn figurerer. Hvis du i stedet for det jeg har skrevet skriver:

select distinct
  navn,
  maal = ( select count(*) from topsy topsy2 where topsy2.navn like topsy.navn )
from topsy

Så slipper du helt for at have en "fast" tabel med topscorere. Det burde kunne lade sig gøre fra DAO (jeg bruger normalt SQL Server).
Det lyder imidlertid som om der er noget galt et andet sted i koden hvis det tager så lang tid at præsentere data.
Har du overvejet indeksering på dine tabeller?
Hvis du er interesseret vil jeg da gerne kast et blik på din kode.
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
Kurser inden for grundlæggende programmering

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