Een van de vele tips in de ontwerpkluis voor toegangsdatabases zijn normaal gesproken verborgen geheimen van onbekende eigenschappen. Voor jouw Toegang tot rapportontwerp verzameling eigenschappen, heb je misschien een schat aan handige attributen opgemerkt om uit te kiezen en een die ik in het bijzonder wil benadrukken is de ‘Verbergen Duplicaten‘ eigenschap voor rapporten.
Deze eigenschap is echter niet perfect, zoals ik zo dadelijk zal uitleggen. In plaats daarvan wilt u misschien een andere verborgen eigenschap gebruiken (buiten de Acess VBA-bibliotheek) die daadwerkelijk rechtstreeks op uw Access-rapportontwerpen kan worden toegepast. Het pand in kwestie heet ‘Is zichtbaar‘!
In de bovenstaande afbeelding laat ik drie verschillende instanties van hetzelfde rapport zien. De eerste is een normaal typisch lijstrapport van klanten, de besteldatum, het bestelnummer en de producten voor elke bestelling. Het tweede exemplaar toont de ‘Duplicaten verbergen‘ eigenschap toegepast op de eerste drie besturingselementen die herhalende waarden onderdrukt, maar is onafhankelijk van elk ander veld (of besturingselement). Het derde rapport maakt echter gebruik van de meer flexibele ‘Is zichtbaar‘ eigenschap die wordt getest in andere velden (of besturingselementen).
Dus hoe creëren we dit? Toegang tot rapportontwerp?
1. Maak uw Access-rapport op de normale manier (meestal ondersteund door een query natuurlijk) en maak van dit rapport een eenvoudige lijstweergave in tabelvorm met behulp van de sjabloon of de wizard (welke versie u ook gebruikt).
2. Schakel over naar de ontwerpweergavemodus voor uw nieuwe rapport. In mijn voorbeeld heb ik een eenvoudig lijstrapport van in het VK gevestigde klanten met een besteldatum, nummer en productinformatie zoals hieronder vermeld:
| Bedrijfsnaam | Besteldatum | Bestel-ID | Artikel | Aantal | Prijs |
3. Om de ‘ te gebruikenDuplicaten verbergen‘, selecteert u de eerste drie besturingselementen in dit rapport (Bedrijfsnaam, Orderdatum en Order-ID) en geeft u het deelvenster Eigenschappenblad weer (of het venster Eigenschappen voor eerdere versies).
In de ‘Formaat‘ tab, scroll naar beneden en zoek naar deze eigenschap en stel deze in op ‘Ja’
Wanneer u een voorbeeld van dit rapport bekijkt, ziet u de ‘Bedrijfsnaam‘ wordt niet herhaald totdat er een verandering in de klant (waarde) is, maar de besteldatum en het aantal zullen ook bij elke instantie veranderen, waardoor een gefragmenteerd beeld ontstaat van de drie besturingselementen die samenwerken. Dit kan ook leiden tot te veel lege waarden voor het orderdatumveld als er meer dan één bestelling voor dezelfde klant met dezelfde datum was.
4. Schakel nu terug naar de ontwerpweergavemodus en verwijder (zet deze op ‘Nee’) de ‘Duplicaten verbergen‘ eigendom aangezien het hier niet meer nodig is.
Wat dacht je van een snelle save voor het volgende bit?
5. Hier gaan we een verborgen eigenschap introduceren genaamd ‘Is zichtbaar‘ wat een logische retourneert Waar of niet waar waarde voor controle met een waarde.
Logischerwijs willen we alleen de Bedrijfsnaam en Besteldatum wanneer er een echte verandering is met de Order ID veld (aangezien dit uniek is voor elke bestelling, maar niet voor de productitems).
Daarom moeten we een expressie gebruiken om logisch te testen voor dit scenario en zowel deBedrijfsnaam en Besteldatum controles om te letten op een verandering in de waarde van de Order ID.
Selecteer in de ontwerpweergavemodus het eerste besturingselement (Bedrijfsnaam) en zoek de ‘Besturingsbron‘ eigenschap (via de ‘Gegevens‘ tab) en verwijder de veldverwijzing. Typ of gebruik nu de tool Expression Builder het volgende in plaats daarvan:
=Iif([Order ID].Is zichtbaar,[Company Name],Nul)
Herhaal dit voor ‘Besteldatum’ en zorg ervoor dat u het voor de hand liggende vervangt [Company Name] met[Order Date].
U moet ook de naam van de twee gewijzigde besturingselementen wijzigen, zodat ze niet conflicteren met de veldverwijzing. Ik heb toen hernoemd als txtBedrijfsnaam en txtOrderDatum maar je kunt elke unieke naam gebruiken om eerlijk te zijn.
6. Ik raad aan om eerst uw wijzigingen op te slaan en vervolgens een voorbeeld van dit rapport te bekijken.
Zorg ervoor dat u daadwerkelijk gebruikt Afdrukvoorbeeld modus en niet de Indelingsweergave optie (die beschikbaar is voor de latere versies).
Daar heb je het, een schone lijst met records die een alternatieve manier is om te veel groepssecties voor je rapporten te gebruiken.