Toon posts:

[access 2000] Velden samenvoegen

Pagina: 1
Acties:
  • 346 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Mensen ik zit met een probleem. Ik heb echt super veel op het internet gezocht maar ik kan alleen vinden over optellen, vermeningvuldigen, enz.

Hoe kan ik velden samenvoegen tot een veld in het volgende geval.

2 tabelen relatie 1:n

1ste tabellen staan de klant gegevens in de tweede tabellen staan tot welke groepsnummer de klant allemaal behoort (hij kan dus tot meerdere groepsnummers horen).

Nu krijg ik met een query de volgende resultaat.

Naam RelatieID
Hassan 10
Hassan 15
Hassan 23
Hassan 19
Hassan 17
Flappie 18
Flappie 15

maar ik wil ze groeperen dus:

Hassan 10, 15, 23, 19, 17
Flappie 18, 15

Eventueel wil ik die nummers ook door namen kunnen vervangen die in een andere tabel staan. Met een veel op veel relatie met de eerste tabel.

Wie kan me helpen ....

Verwijderd

Lijkt erop alsof je een crosstab query wilt gebruiken voor hassan 10.15 formaat
Het laatste zinnentje 'nummers door relaties vervangen' door je door je relatietabel als alias toe te voegen aan je query


dus:
from relatie r, groep g, relatie r_alias

Verwijderd

Topicstarter
mhh thnx, heb ik nog nooit gedaan eens kijken hoe het werkt :)

Verwijderd

Topicstarter
Ik probeert met de crosstab query wizard dit te doen maar ik moet 3 velden hebben om het middelste veld te berekenen :'(. Maar ik wil niet een veld berekenen op basis van 2 andere velden maar ik wil velden samenvoegen.
Het zou kunnen dat het kan maar ik zou niet weten hoe. En wat ik met alias kan kan ik ook niet vinden.

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Zoiets kan volgens mij niet.
Je zult handmatig door je resultset moeten lopen en alle Relatie_ID's achter elkaar plakken totdat je een nieuwe naam tegenkomt.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 25-08 14:38

OZ-Gump

terug van weggeweest

Inderdaad, ik ben het eens met robjanssen (Heej Jenssen!). Simpel for-loopje maken om alles aan elkaar te knopen en gaan met die banaan...

My personal website


  • Freee!!
  • Registratie: December 2002
  • Laatst online: 10:59

Freee!!

Trotse papa van Toon en Len!

robjanssen schreef op 24 December 2002 @ 13:35:
Zoiets kan volgens mij niet.
Je zult handmatig door je resultset moeten lopen en alle Relatie_ID's achter elkaar plakken totdat je een nieuwe naam tegenkomt.
OZ-Gump schreef op 24 December 2002 @ 13:41:
Inderdaad, ik ben het eens met robjanssen (Heej Jenssen!). Simpel for-loopje maken om alles aan elkaar te knopen en gaan met die banaan...
Ik moet ze helaas :( gelijk geven, het gevraagde kan niet met uitsluitend SQL.

The problem with common sense is that sense never ain't common - From the notebooks of Lazarus Long

GoT voor Behoud der Nederlandschen Taal [GvBdNT


Verwijderd

Topicstarter
Ik moet er een rapport van maken dus hoe zorg ik ervoor dat ik het in een rapport kan verwerken ? of in een query waar ik het uit kan halen. Ik kan wel VBA maar ik weet alleen hoe ik dat kan laten zien in bijvoorbeeld een veld.

Verwijderd

resultaat naar tijdelijke tabel schrijven? En dan een rapport maken op basis van een query op die tabel.

Verwijderd

Topicstarter
dat is wel gruwelijk veel load om een rapport te genereren vind je niet ?

Verwijderd

Topicstarter
Ik heb een idee misschien dat iemand een val kuil kan ondekken?

Ik maak een nieuwe veld in me tabel en elke keer als iemand een groep toevoegd of verwijdert dan word die veld opnieuw gemaakt met de waarden.

Alleen nu zit ik er mee dat ik niet weet hoe ik dat in vba moet coden.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
(hoe vang ik deze resultaten in een variable) SELECT  RelatieKoppeling.ID
FROM Adres INNER JOIN RelatieKoppeling ON Adres.KLANTID = RelatieKoppeling.KLANTID
WHERE Adres.Naam = (met vb een veldwaarde selecteren);

Insert query die de veld met alle waarden leegmaakt

foreach result in (resultaten van die sqlquery)

finalresult += result

next

insert finalresult

Verwijderd

Als je die nummers door namen gaat vervangen waarom maak je dan geen rapport met by lines ? Dan krijg je de namen wel onder elkaar, maar de klant maar 1x.

Of je moet een mooi rapportje schrijven met wat VBA code die per klant even alle nummers opzoekt mbv een query. Je hoeft geen tussentabel te maken.

Verwijderd

Topicstarter
Verwijderd schreef op 24 December 2002 @ 14:26:
Of je moet een mooi rapportje schrijven met wat VBA code die per klant even alle nummers opzoekt mbv een query. Je hoeft geen tussentabel te maken.
het probleem is dat ik zit met het opzoeken met een query ik weet niet hoe dat moet in vba. En ik weet niet hoe ik de klantnaam moet benaderen op het rapport... voel me net een NOOB :( :P

Verwijderd

In een rapport kan je code hangen in het Detail_Print event.

Daar vraag je de waarde van het veld op waar de klant naam staat.

dus: SELECT RelatieID FROM TabelNaam WHERE KlantID = Me![klantID]

Het resultaat van die query trek je leeg en plak je achterelkaar in een variabele en die stop je dan weer in het veld op je rapport.

Succes

Verwijderd

Topicstarter
]Het resultaat van die query trek je leeg en plak je achterelkaar in een variabele en die stop je dan weer in het veld op je rapport.
dat moet mij wel lukken met wat zoeken

THNX allemaal... :)
Pagina: 1