Crosstap Query als subform

Status
Niet open voor verdere reacties.

Bavaria

Gebruiker
Lid geworden
14 okt 2004
Berichten
126
Graag zou ik 2 query's tegelijk in 1 form willen zien. Normaal gesproken kan dit gewoon door het toevoegen van een subform. Wanneer ik gebruik maak van een crosstap query niet.

Er zijn 2 mogelijkheden.

1 Ik maak van de crosstap query een form en voeg de normale query toe als subform. Er wordt dan geen fout gegeven, maar in het subform is niets te zien.

Hoe kan ik dit probleem oplossen?

OF

2 Ik maak van de normale query een form en voeg de crosstap query toe als subform. Er wordt dan een melding gegeven:

You can't use a pass-through query or a non-fixed-column crosstab qyery as a record source for a subform. Before you bind the subform to a crosstab query, set the query's ColumnHeadings property.

Als ik dan de ColumnHeadings aanpas krijg ik de volgende melding:
De kruistabelquery bevat een of meer ongeldige vaste kolomkoppen.

Wat kan ik aan deze laatste melding doen?

Bedankt voor uw reactie:thumb:
 
De eerste vraagstelling blonk niet helemaal uit door duidelijkheid, maar ik denk wel dat ik het probleem snap.
Je kunt van een kruistabel prima een formulier maken, maar er zit wel een addertje onder het gras. De oorzaak wordt, zij het erg cryptisch, aangegeven in de foutmelding:
"pass-through query or a non-fixed-column crosstab qyery "
Een kruistabel wordt dynamisch opgebouwd, waarbij je van tevoren niet weet hoeveel rijen en kolommen je terugkrijgt. Voor de rijen maakt dat niet zoveel uit, omdat je immers je rijkop als veldnaam hebt gebruikt. Alle rijkopvelden hebben dus een vaste naam, bijvoorbeeld het veld Leverancier.
Anders wordt het voor de kolomkoppen. Access bepaalt a.d.v. het veld Kolomkop hoeveel kolommen er nodig zijn. Als je bijvoorbeeld het veld <Format([Datum];"mmm")> als kolomkop gebruikt, om een overzicht per maand te maken, en je hebt gegevens voor de maanden mei, juni en augustus, dan krijg je deze kolomkoppen terug: Mei, Jun en Aug. De overige maanden zie je niet, omdat daar geen gegevens voor zijn.
Ga je een formulier maken op basis van een kruistabel, dan wordt dat formulier gemaakt met de velden die op dat moment in de kruistabel zitten. Je ziet dus de velden Leverancier, Mei, Jun en Aug terug in de lijst met velden.
Dat gaat dus maar één keer goed, maar fout zodra er gegevens zijn voor September en Oktober. daar zijn in het formulier geen velden voor, dus die kunnen ook niet worden weergegeven.
Je kunt daarom maar het beste (in dit voorbeeld) gelijk alle kolomkoppen voor het hele jaar aanmaken,en dan het formulier maken. Dan kun je ook de oveige maanden netjes op het formulier zetten, en sta je nooit meer voor verrassingen.

Ik weet niet, of Jelle dit probleem ervaart, omdat je wel heel weinig gegevens in je vraag hebt gezet, maar dit zou dus een reden kunnen zijn. Om een zinniger antwoord te kunnen geven, moet ik toch echt de database erbij zien, want er kan een hoop fout gaan bij dit soort formulieren...

Michel
 
thnks

Beste Octafish,

bedankt voor je reactie. Ik probeer een nuttig administratie programma te ontwerpen voor ons kantoor. Omdat ik vrij nieuw ben met access loop ik nogal tegen wat probleempjes op.

Wij zijn handelsagenten. In ons programma moeten we een Contract kunnen maken. Bestaande uit een Leverancier, een Klant en nog wat extra info. Bij dit Contract zitten Contractregels. Hierin worden Artikelen, verpakkingen en prijzen gespecificeerd.

tot zover voor mij geen probleem.

Nu komen we bij bestellingen van de klant. Dit noemen wij afroepen. Een afroep is altijd gelinkt aan één contract, en datum, een ETD, ETA. Ook hier moeten afroepregels. Welke producten van het contract worden afgeroepen, en in welke hoeveelheid.

Hierbij heb ik al wat moeite met de juiste relaties vast te stellen

Vervolgens wil ik via een crosstabel query, het totaal aantal artikelen dat is besteld per contract bereken. Deze wil ik vervolgens aftrekken van het totaal aantal arrtikelen op de contractregels, zodat ik per contract een balans heb.

Deze crosstabel query wou ik in het formulier contract toevoegen zodat ik gelijk kon zien wat de balansen waren.

ik zal kijken of ik een rar kan opsturen, maar hij is nu nog groter dan 100kb.

alvast bedankt!

Jelle
 
Als je bij het maken van de rar het bestand laat opsplitsen in delen van 100000 bytes, krijg je een gesplitst bestand dat prima is te posten.

Tis maar een tip!

Michel
 
Heb 'm binnen, ga d'r nu naar kijken!

Michel
 
Laatst bewerkt:
Eerste indruk: de query [Afroepen per Contract] bevat een verkeerde tabelverwijzing naar de tabel [Contract tabel]. De tabel die er in zit is [Contract tabel_1], wat waarschijnlijk een kopie is geweest van [Contract tabel]. Als je de juiste tabel toevoegt, de tabelverwijzing bij het veld [VerkoopID] aanpast, en de foute tabel verwijdert, dan doet-ie het weer. Met als resultaat dat de kruistabel het ook weer doet.

Ik zag ook, dat de koppeling tussen Leveranciers en Artikelen niet goed was te leggen. Dat komt, doordat in Artikelen een record zit zonder Leverancier. Als je dat verhelpt, kan ook die link weer gemaakt worden met Referentiële integriteit.

Michel
 
via button naar gefilterde query

bedankt voor de hulp tot zover, heb nu een goeie opzet van tabellen en relaties.
ben nu bezig met formulieren samen te stellen.

ik kom er niet achter hoe ik (zonder de wizard) een knop moet maken die refereert naar een gefilterde query. Zo heb ik bijvoorbeeld bij het form "artikel" een knop met klantartikelnummers. Bij het aanklikken krijg ik een gefilterde tabel voor de desbetreffende klant. Dit probeer ik ook voor elkaar te krijgen voor de queries "verkopen per artikel" en "afroepen per artikel" maar dat lukt me niet.

enig idee?

groeten,

Jelle
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan