/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Excell VBA konvertering til Access VBA
Fra : Peter Brandsborg


Dato : 14-04-05 14:34

Hej,

Jeg plejer at lade Excel lave mit tunge arbejde, men denne gang er det
blevet for tungt (over 800.000 poster).

Jeg skal have Access til at gennemgå alle posterne. Posterne er på
vare der er blevet solgt i forskelligt kvantum på forskellige
tidspunkter. Kvantum er det interessante.

Jeg vil have Access til at finde ud af, hvor mange gange hver vare er
blevet solgt. I Excell gøres det sådan her:

For i = i To 800000
første = Range("b" & i)
anden = Range("b" & i + 1)

If anden = første Then
cells(i, 1) = cells(i, 2) + cells(i + 1, 2)
Rows(i + 1).Select
Selection.Delete Shift:=xlUp
i = i - 1
End If
Next i

Det koden gør er: Den ser om posten under den posten koden er nået
til, har samme varenummer som posten har. Hvis den har det, lægger den
et bestem felt i begge poster sammen og gemmer det i et tredje felt i
posten den arbejder med, for derefter at slette "dubletten". Så
tjekker den om den næste post også har det samme varenummer, hvis
ikke, går den videre og køre den samme kode på næste post. Forvirret?

Det er ellers meget enkelt

Jeg skal bare finde ud af, hvor mange gange det samme varenummer er
blevet solgt. Hver gang der er blevet lavet et salg, laver basen en ny
post, hvor antallet af solgte enheder står i. Så hver gang en post har
det samme varenummer skal jeg lægger antallet af solgte enheder til
det totalt antal enheder inden for det varenummer. Det skal jeg så
gøre på 800.000 poster, hvor der nok er ca. 80.000 forskellige
varenummere.


Peter

 
 
Tomas Christiansen (14-04-2005)
Kommentar
Fra : Tomas Christiansen


Dato : 14-04-05 19:58

Peter Brandsborg skrev:
> Jeg skal bare finde ud af, hvor mange gange det samme varenummer er
> blevet solgt. Hver gang der er blevet lavet et salg, laver basen en ny
> post, hvor antallet af solgte enheder står i. Så hver gang en post har
> det samme varenummer skal jeg lægger antallet af solgte enheder til
> det totalt antal enheder inden for det varenummer. Det skal jeg så
> gøre på 800.000 poster, hvor der nok er ca. 80.000 forskellige
> varenummere.

Går spørgsmålet på hvordan man laver et SQL-udtryk som kan give dig det
svar du ønsker? Så havde spørgsmålet nok haft større berettigelse i
dk.edb.database.

Men lad mig alligevel komme med et bud:

Givet at du har en tabel Salg, som indeholder poster med VareNr og Antal,
kan du skrive følgende udtryk:

SELECT VareNr, Sum(Antal) AS 'AntalSum'
FROM Salg
GROUP BY VareNr
ORDER BY VareNr;

Dette vil give en sorteret liste med VareNr og AntalSum, som summen af
alle Antal for det pågældende VareNr.

Hvis du propper forespørgslen ind i Access, vil den nok selv finde på at
komme nogle firkantede parenteser ("[" og "]") uden om feltnavnene, men
det har ingen praktisk betydning for dig.

-------
Tomas

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste