Denormaliseren

Status
Niet open voor verdere reacties.

bikerron

Gebruiker
Lid geworden
9 mei 2009
Berichten
236
Hallo,
Na een tijdje geen ACCESS ontwikkelingen gedaan te hebben zit ik even met het volgende probleem, ben ik nog niet in deze hoedanigheid op dit forum tegengekomen)

Om de gegevens van uit een tabel op een website te publiceren is het handig dat er op die site niet zoveel gescrolled hoef te worden dus ik wil een "brede" file aanleveren.

De input voor deze brede file is zoiets als:

HTML:
Record  Col1 Col2 Col3 Col4 Col5
1        A    B    C    D    E  
2        A    B    C    F    G 
3        A    B    C    H    I 
4        A    B    C    J    K 
5        A    B    C    L    M 
6        N    O    Q    R    S
7        N    O    Q    T    U


Ik zou aan de hand van deze input een nieuwe tabel met de volgende inhoud willen hebben.

HTML:
Record  Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10 Col11 Col12 Col13
1        A    B    C    D    E    F    G    H    I    J     K      L    M 
2        N    O    Q    R    S    T    U

(Ik weet niet waarom bij het gebruik van de HTML-code er nu een volgnummer voor de regels geplaatst worden maar met het getal onder de kolom Record bedoel ik dus een recordnummer)

Al vast bedankt voor de te nemen moeite

Ron
 
2 dingen:

1.
Horizontaal scrollen wordt over het algemeen als een grotere NO-NO beschouwd dan verticaal scrollen, dus weet goed wat je doet (of wilt).

2.
Het idee achter de tweede tabel is me niet helemaal duidelijk.
Normaal gesproken vormen de velden op één regel een record
en de velden op een andere regel een ander record.
Ik zie zo gauw geen situatie voor me waarbij je op jouw manier de gegevens gaat presenteren en dan toch nog een logisch overzicht houd.
Tenzij de oorspronkelijke records geen echte records waren (eenheid van bij elkaar horende gegevens).


Idee:
Zou het in jouw geval een oplossing zij als je A, B, C, N, O, Q als kopjes gebruikt
en daaronder D,E,F,G,H,I,J,K,L,M,R,S,T,U presenteert?
 
Je voorbeeld is niet heel erg verhelderend; ik snap nog wel dat je gegevens zou willen samenvoegen om ze beter te presenteren. Daar heb ik ook wel wat voorbeelden voor liggen. Op basis van je voorbeeld kan ik er echter geen chocola van maken...
 
Hallo Tecsman en Octafish,
Bedankt voor de snelle reactie. Excuses voor de onduidelijkheid.
Wat ik zou willen is dat ik de gegevens van uit een tabel met eenzelfde "sleutel" , dus de waarden A B C en N O Q zie terug te brengen naar 2 records (in dit voorbeeld dus).

Even de praktijk.
Ik heb een tabel, Ocatfisch kan het zich misschien nog herinneren waarmee ik bezig was) met daar in foto's van schepen.
een zelfde schip kan meerdere keren gefotografeerd zijn, elk foto moment is een record, alleen de plaats en datum is een andere.

Als ik dit in een site laat zien dan krijg ik dus, uitgaande van het genoemde voorbeeld) 7 records onder elkaar terwijl ik dat terug wil brengen naar 2records.
Ik zal er wel voor zorgen dat het record niet zodanig "breed" wordt dat je horizontaal zou moeten scrollen.

Is dit een beetje duidelijker geworden?
 
Laatst bewerkt:
Ik heb die db nog wel ergens staan, ja ;) Ik zal eens kijken of ik daar wat data uit kan trekken die jouw verzamelquery oplevert.
 
Octafish,
Pas svp even op met die db.
Degene die jij hebt, bevat de foto tabel zoals ik hem wil gaan maken.
Deze tabel was niet "netjes" in het kader van muteren etc. Daarom heb ik de stuctuur veranderd.

De huidige tabel bevat:
HTML:
Volgnummer
Miniatuur1 formaat Hyperlink
Miniatuur2 formaat Hyperlink
Foto1      formaat Hyperlink
Foto2      formaat Hyperlink
Image1     formaat Hyperlink
Image2     formaat Hyperlink
Imagefoto1 formaat Hyperlink
Imagefoto2 formaat Hyperlink
Datum_gemaakt_foto
Korte beschrijving foto
SchepenID

Per gemaakte foto, van hetzelfde schip, wordt het volgnummer met 1 verhoogd
Het aantal volgnummers is in feite oneindig.

Voor het samenstellen van de "web tabel" maak ik eerst gebruik van een soort "conversietabel" waarmee ik er voor zorg dat, per 4 records, in de "web tabel" hetzelfde volgnummer wordt gemaakt.
Dus:
Als de volgnummers (van hetzelfde schip) 1,2,3,4 zijn dan worden deze allemaal op volgnummer 1 gezet en daarmee probeer ik dan het nieuwe "web-record" op te bouwen.
Volgnummers 5,6,7,8 wordt volgnummer 2 etc.

Is het nog te volgen?

Ron
 
Op zich wel; Hoe ziet je doeltabel er uit? Hoeveel velden komen er bijvoorbeeld in te staan? Hoeveel brongegevens wil je omzetten naar een kolom?
 
Michel,
Het uiteindelijke doel is om een "set" van 4 maal de boven genoemde velden in 1 record te krijgen. Waarbij dan geldt: 1 x volgnummer en 1 x schepenId

Volgens mij gaat het de kant op van een draai tabel, of zie ik dat verkeerd
Ron
 
Op zich ziet het er uit als een draaitabel, maar het is een beetje lastig om er een draaitabel van te maken. Omdat je in een draaitabel geen gegevens hebt, maar berekeningen. En dan kom je toch weer uit bij een VBA oplossing.
 
Hallo Michel,
kun jij me nog uit de "brand"helpen met een VBA-code?
Ron
 
Ik heb twee voorbeeldjes, waarvan geen van tweeeën exact doet wat je wilt denk ik, maar het geeft hopelijk wel een idee van hoe je het kan oplossen.
 

Bijlagen

Om een idee te geven: hier je voorbeeld met een code die de tabel splitst. Volgens mij bedoel je zoiets...
 

Bijlagen

Ik heb hem net gepakt en uitgevoerd.
Ziet er goed uit!!!.
Code ziet er heftig uit, een prachtige case om het te doorgronden.

Zeer bedankt :P;)
 
Hallo Octafish,

Kun je me nog eens uit de brand helpen met dit "probleem"?

Ron
 
Wat is het probleem?
 
Octafish,
In een PM heb ik je dit voorgelegd:

Hallo Michel,

Ik ben een heel eind op weg met je geleverde oplossing.
Voor 80% snap ik wat er allemaal gebeurd, de specifieke VB opdrachten zijn voor mij nog niet allemaal helder maar ik “begrijp” het wel.
Om het zelf te bedenken is al weer wat anders.


Zoals het nu werkt wordt er maar een deel van de velden gevuld, geheel verklaarbaar maar hoe los ik het op?
Wellicht ben je nog in het bezit van deze PM anders kan ik hem nog wel even toesturen.

Ron
 
Ik heb de mail nog; zal er de komende dagen nog een blik op werpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan