Avatar billede jensen363 Forsker
27. april 2006 - 22:36 Der er 9 kommentarer og
1 løsning

find/vis gentagne poster

Et datasæt består som standard af :

ID  Felt1
1  K
2  P
3  K
4  P
.
.
.

men det kan også forekomme, at data kan se således ud :

ID  Felt1
1  K
2  P
3  K
4  P
5  P
6  K
7  P

K svarer til Kunde og P til Partner, og i forbindelse med ID 3 har Kunden altså mere end een partner ( illustreret om 2 X P )

Jeg har behov for at få udpeget de ID/poster, hvor Kunden har 2 eller flere partnere .... men hvordan ?
Avatar billede fdata Forsker
27. april 2006 - 23:34 #1
Dine data er jo ikke sådan helt normaliserede  ;o)
Du kunne måske:
- tilføje et ekstra felt, KundeRef.
- løbe posterne igennem i en løkke og opdatere KundeRef
- køre en sumforespørgsel, som udvælger P-posterne, grupperer på KundeRef og tæller ID'er
Avatar billede jensen363 Forsker
28. april 2006 - 07:40 #2
Det er jo netop det som er problemet, den datafil jeg arbejder ud fra, er slet ikke normaliseret ... jeg forsøger netop at skabe logiske relationer

http://www.eksperten.dk/spm/705657?Esession=32ba5f798e3e6f7368234e9450a31101

Men måske kan jeg fortsætte med den løsning jeg fik tidligere
Avatar billede fdata Forsker
28. april 2006 - 10:42 #3
OK. Jeg gentager min løsning. Denne gang med fuld kode:

- tilføje et ekstra felt, KundeRef.:
Giver sig selv

- løbe posterne igennem i en løkke og opdatere KundeRef:
Sub OpretKundeRef()
  Dim Rst As Recordset
  Dim Husk As Integer
 
  Set Rst = CurrentDb.OpenRecordset("KunderPartnere")
  With Rst
    Do Until .EOF
      If .Fields("Felt1") = "K" Then Husk = .Fields("ID")
      .Edit
      .Fields("KundeRef") = Husk
      .Update
      .MoveNext
    Loop
  End With
  Set Rst = Nothing
End Sub

- køre en sumforespørgsel, som udvælger P-posterne, grupperer på KundeRef og tæller ID'er:
SELECT KunderPartnere.KundeRef, Count(KunderPartnere.ID) AS AntalPartnere
FROM KunderPartnere
WHERE (((KunderPartnere.Felt1)="P"))
GROUP BY KunderPartnere.KundeRef;

Resultat:
KundeRef    AntalPartnere
1    1
3    2
6    1

OK?
Avatar billede jensen363 Forsker
28. april 2006 - 10:46 #4
Lavede en lidt anden løsning, men principperne de de samme :o)
Avatar billede fdata Forsker
28. april 2006 - 10:53 #5
Sagt i al venlighed: Hvis du allerede har løst problemet, bør du lukke spm. Ellers kan det jo let føles som skønne spildte kræfter her i den anden ende.  :o|
Avatar billede jensen363 Forsker
28. april 2006 - 10:56 #6
Sorry, du får point alligevel
Avatar billede fdata Forsker
28. april 2006 - 11:17 #7
Alt ok. Det er ikke så meget pointene, mere tiden i at sætte sig ind i opgaven og forsøge at løse den. No hard feelings ;o)
Avatar billede jensen363 Forsker
28. april 2006 - 11:23 #8
Problemet er, at jeg arbejder fra to forskellige PC'er, og jeg kunne ikke komme på nettet i formiddags :o(
Avatar billede fdata Forsker
28. april 2006 - 11:27 #9
Som sagt: Alt ok  ;o)
Avatar billede jensen363 Forsker
28. april 2006 - 11:29 #10
Forstår dig ... har selv løst/brugt tid på mange løsninger, som man så bagefter føler har været spildte kræfter
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