Access Report

Status
Niet open voor verdere reacties.

Segers

Gebruiker
Lid geworden
29 sep 2010
Berichten
30
Goeiemiddag iedereen,

Ik heb iets gemaakt om mijn stock bij te houden maar het report "Parcels Detail" geeft niet precies weer wat ik zou willen.

1. Table Parcels
2. Table Client Suppl
3. Table Lot

Table Parcels bevat de totalen van Table lot

In mijn report zou ik per client/suppl eerst het parcel willen weergeven en dan de details van dat parcel.

In bijlage mijn vb.

Alvast bedankt!
 

Bijlagen

Een paar dingen vallen mij op: om te beginnen heb je in je tabellen keuzelijsten gebruikt om o.a. Client gegevens op te zoeken. Niet doen: tekstvelden van maken! In een tabel wil je altijd kunnen zien wat je opslaat, en met een keuzelijst doe je dat niet. Keuzelijsten moet je op formulieren gebruiken en bij voorkeur niet in een tabel, tenzij je een keuzelijst maakt met Waarden.
Ten tweede: waarom koppel je de tabel Lots ook aan de tabel [Client supplier]? Je hebt al een koppeling tussen [Parcel] en [Client supplier], dus een koppeling tussen [Parcel] en [Lots] geeft je exact de parcels en lots per client. Dat veld en die koppeling kunnen dus weg.
Ten derde: hoewel je gegevens wel in orde zijn, zijn de relaties dat niet. Je moet namelijk nog <Referentiële Integriteit afdwingen willen de koppeling enige waarde hebben. Nu zijn ze waardeloos, en kun je ze net zo goed weghalen. Ze doen namelijk niks.

En ten laatste (tevens oplossing voor de vraag): als je totalen wilt maken voor je parcels per client, dan moet je het rapport groeperen op 1) ClientID en 2) ParcelID. Bij beide velden moet je de Groepskoptekst weergaven op Ja zetten. De Client gegevens zet je dan in de ClientID koptekst, en de Parcelgegevens in de ParcelID koptekst. De Lots velden blijven dan in de Detailsectie staan. Wil je het rapport een beetje netjes opmaken, dan zou ik de Labels van die velden verplaatsen naar de ParcelID Koptekst, zodat ze maar één keer per parcel worden herhaald.
 
Beste Michel,

Ik heb alles gedaan zoals u zei en idd het werkt perfect. Nu ga ik proberen te spelen met de gegevens!

Ik gebruik deze keuzelijsten om alles aan mekaar te gaan linken want het is een reeds bestaande lijst van klanten en leveranciers waarmee ik werk. Dus ik heb een tabel van bijan 400 klanten.

Maar heel hartelijk bedankt!
 
De keuzelijsten doen verder niks; ik zou in ieder geval formulieren maken om de gegevens te bekijken/muteren/toe te voegen. En op die formulieren maak je dan je keuzelijsten. Dan kun je ook veel meer doen dan in een tabel. Nogmaals: in een tabel wil je (ik wel tenminste) altijd zien welke gegevens worden opgeslagen; niet representaties daarvan. Ga je om maar eens wat te noemen, een tabel exporteren, dan krijg je ook de opgeslagen waarden te zien. Beheers je gegevens op de juiste manier, en je hebt heel wat minder omkijken naar allerlei problemen waar je nu misschien nog geen weet van hebt, en waarschijnlijk ook nog niet mee te maken, maar de kans is groot dat je er ooit poblemen mee gaat krijgen. En dan zien we je vanzelf weer terug ;) En dan zal ik naar deze post verwijzen met de tekst: 'ik zei het toch?" :D
 
Zal er vanavond een blik op werpen!
 
Bekijk bijlage General Info Upload.zip

Alvast heel hartelijk bedankt.

Ik heb geprobeerd om met uw opmerkingen rekening te houden.
Dus vooraleer ik nu werder ga werken wil ik zeker zijn dat mijn relationships ok zijn.

Ik heb er ook reeds een formulier aangemaakt.

De uiteindelijke bedoeling is dat ik een report verkrijg waar er een openingbalans opstaat en naargelang het over een aan- of verkoop gaat deze in plus of min erbij met dan een eindresultaat.

Bedankt voor uw hulp alvast!
 
Je relaties tussen de tabellen kloppen niet. Om relaties te leggen tussen de tabellen gebruik je de sleutelvelden en dat doe je niet altijd. Tevens kun je alleen relaties leggen tussen sleutelvelden van hetzelfde type. Ook dat doe je niet altijd.

Hoe je dat doet kun je lezen op onderstaande leuk. Tevens een leuke site om als naslagwerk te gebruiken bij het maken van een database.

http://www.gratiscursus.be/access_2010/Access2010_Les018.html
 
En lees vooral ook de cursus op HelpMij, dan heb ik 'm niet voor niks geschreven ;)
Maar gast0224 heeft gelijjk, je gebruikt verkeerde koppelingen in je tabellen. Om te beginnen: al je brontabellen (zoals Rate en Shape) heb je een nummerveld gegeven van een verkeerd gegevenstype; Lange integer is een veel beter veld. Maar je doet er beter aan om er Autonummervelden van te maken in alle tabellen, want je doet niet veel anders dan oplopende nummers gebruiken, en die kun je net zo goed maken met Autonummering. In je tabel [General Info Rough] moeten de velden waar je mee koppelt van hetzelfde type zijn, dus <Numeriek>, <Lange integer>.
Vervolgens moet je in de relaties de optie <Referentiële Integriteit afdwingen> aanvinken om de relaties enige waarde te geven. Doe je dat niet, dan kun je ze net zo goed weglaten. In je huidige relaties kun je geen enkele keer <Referentiële Integriteit afdwingen> gebruiken, omdat je verkeerde velden aan elkaar hebt gekoppeld (tekstveld aan numeriek veld).
Verder heb ik geen flauw idee waar je de tabellen [Client Suppelier] en [Rate] aan wilt koppelen...
 
Bekijk bijlage Upload.zip

Ik heb het opnieuw gemaakt.
Ik denk dat ik nu wel op de juiste weg zit.

Maar, en nu ga ik waarschijnlijk een domme vraag stellen, ik heb dan 1 formulier gemaakt om alle gegevens in te geven, maar het is toch niet logisch dat je bv. voor uw klanten alle ID's vanbuiten moet kennen?

Alvast bedankt
 
Ik kan pas vanavond naar je nieuwe voorbeeldje kijken i.v.m. versieverschil, maar een antwoord kan ik al wel geven :)
Klanten opzoeken op een formulier doe je d.m.v. Keuzelijsten (met opzoekvak). Dat staat ook al beschreven in de cursussen, dus daar moet je wel uit kunnen komen...

In het algemeen gesteld: als je een tabel [Klanten] hebt, en een formulier [Bestellingen], wil je op je bestelformulier een klant kunnen opgeven (voor de bestelling). Dat doe je inderdaad niet doordat je alle klantID's uit je hoofd hebt geleerd: je maakt daarvoor (met de wizard bijvoorbeeld) een keuzelijst met invoervak die je baseert op de tabel [Klanten]. Deze wizard maakt dan een keuzelijst die de klantnaam laat zien, en het KlantID opslaat in de tabel Bestellingen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan