Handige dialoogvensters
Goed ontwikkelde dialoogvensters leveren veel gebruiksgemak op en besparen veel tijd en geld. Vooral ook met het oog op de onderhoudskosten van een database. Op deze pagina leest u waarom...
Deze pagina dient tevens ter illustratie hoe een ontwikkelaar u een hoop onderhoudskosten kan besparen.
Hieronder een voorbeeld van een dialoogvenster in een Office Programs Access applicatie dat informatie uit de database naar Microsoft Excel exporteert. Echter, dit dialoogvenster had evengoed een onderdeel binnen Excel kunnen zijn waarmee informatie uit een Access database kan worden gehaald. Het is een voorbeeld van hoe u zelf nooit meer query's hoeft te maken en u zichzelf dus veel tijd en geld bespaard. U wijst eenvoudigweg aan welke informatie u wenst en hoe u die informatie gepresenteerd wilt hebben. Maar voor het dagelijkse gemak gaan we nog een stukje verder...
Enkele voordelen van goed ontwikkelde dialoogvensters
- U hoeft zelf niets steeds opnieuw te ontwikkelen zoals query's. Met een goed ontwikkeld dialoogvenster kunt u naar willekeur allerlei keuzes maken.
- U voorkomt dat er veel query's in de database komen. Veel query's vereisen veel onderhoud indien er iets verandert. En dat brengt hoge kosten met zich mee.
- Complexe taken worden volledig automatisch uitgevoerd.
- U kunt veel sneller en gegarandeerd foutloos uw werk doen.
- Dialoogvensters kunnen worden gebruikt voor:
- Data ophalen om een Access rapport af te drukken en bepalen hoe dat wordt gepresenteerd.
- Overzichten genereren in gegevensbladen.
- Data ophalen om te exporteren naar Excel en opgeven hoe Excel die data moet verwerken en presenteren.
- U kunt via een dialoogvenster bulkbewerkingen uitvoeren zoals data invoeren, data bewerken, of data verwijderen.
Een beknopte toelichting op dit dialoogvenster
- In dit voorbeeld worden alle items die in een factuur zijn opgenomen naar Excel geëxporteerd.
- In het vak Periode kiezen kan een periode gekozen worden waarop de facturen betrekking hebben, bijvoorbeeld vandaag, deze week, dit kwartaal, vorig kwartaal, dit jaar, vorig jaar, 1e kwartaal, 2e kwartaal, etc. De vakken Begin- en Einddatum worden dan automatisch ingesteld hetgeen fouten maken voorkomt. Met een kalender kunnen afzonderlijke datums worden ingesteld.
- Als er in de meervoudige keuzenlijst geen klanten zijn geselecteerd, wordt van alle klanten waarvoor een factuur is gemaakt binnen de aangegeven periode, de informatie opgehaald. Zijn er wel klanten geselecteerd, dan beperkt de lijst zich tot de facturen van de geselecteerde klanten. Een goed voorbeeld dus van hoe dynamisch het allemaal kan.
- In dit voorbeeld kunnen twee soorten lijsten worden gegenereerd: een lijst Subtotalen met eindtotalen (per klant), en een lijst met alleen Eindtotalen. Als Subtotalen met eindtotalen is ingeschakeld, dan is Eindtotalen uitgeschakeld en andersom. Het zijn dus twee verschillende lijsten. De opties die bij een lijst bepaalde niet relevant zijn, worden automatisch uitgeschakeld en/of ingesteld.
- In een meervoudige keuzenlijst kunt u meerdere items selecteren. U kunt door de lijst scrollen en op zoek gaan naar een bepaald item. Maar dat kan ook een stuk makkelijker en sneller: in het vak Zoeken, onderaan de lijst, kan snel een item worden opgezocht; in dit voorbeeld een klant. U hoeft slechts een paar letters te typen en op Enter te drukken. De klant wordt dan automatisch in de lijst opgezocht en geselecteerd. Om alles te deselecteren, klikt u op Geen selectie, waardoor er er dus een andere lijst wordt gegenereerd, namelijk voor alle klanten.
- Er zijn enkele handige instellingen mogelijk die Access in Excel automatisch voor u zal gaan uitvoeren, zoals:
- Een nieuwe pagina bij subtotalen genereren.
- Specifieke opmaak hanteren. Hierdoor ontstaat er een duidelijker overzicht. De reden waarom dit kan worden uitgeschakeld is, dat deze bewerking bij grote bestanden enige tijd in beslag kan nemen.
- Een extra paneel in het gegenereerde Excel bestand weergeven. Bij het scrollen in het Excel bestand blijft de bovenste rij (die de kolommen aanduidt) dan zichtbaar. Erg handig!
- Desgewenst kan in Excel een AutoFilter worden ingesteld.
- De pagina orientatie kan worden opgegeven. Makkelijk als u dat niet steeds opnieuw hoeft in te stellen.
- Afhankelijk van de gekozen lijst, kan in het vak Sortering de gewenste sortering worden gekozen.
- Verder zijn er mogelijkheden die nog makkelijker zijn dan zo'n handig dialoogvenster... Want 'achter de schermen' kunnen voor u een aantal zaken in Excel direct worden ingesteld, zoals instellingen voor de pagina marges, de kop- en voetteksten etc. etc. Dan heeft u daar al helemaal geen omkijken meer na! Dat is het voordeel van maatwerk...
Technisch
Vaak worden in een Access database veel query's aangemaakt. Een query is op zich een vrij vast omlijnd object binnen de database en daarom kan er niet echt dynamisch mee worden omgegaan. Wanneer query's niet met programmacode worden opgebouwd, zijn er al snel veel query's nodig om de gewenste records op te halen. Het resultaat is een beladen database. Maar wat nog veel erger is, is het onderhoud wat dat met zich meebrengt, omdat dat dan niet meer te overzien is!
Waar een goede hobbyist al gauw enkele honderden query's voor nodig heeft omdat hij afzonderlijke informatie wil ophalen (bijvoorbeeld voor een specifieke klant), kan de geroutineerde ontwikkelaar het af met slechts één query, bijvoorbeeld de query qryDynamic. Waarom maar één query? Omdat de achterliggende code voor de query (de SQL-instructie) steeds opnieuw d.m.v. variabelen kan worden ingesteld. De variabelen worden doorgeven a.d.h.v. de instellingen die de gebruiker maakt op een dialoogvenster. Op die manier hoeft de ontwikkelaar niet meer ingezet te worden. Onderhoudskosten: 0,00. Mogelijkheden voor onze klant: onbeperkt.
Een eenvoudig voorbeeld: wanneer in bovenstaand dialoogvenster enkele klanten zijn geselecteerd, wordt voor het veld KlantID met programmacode een criterium opgebouwd met de operator 'OR'. Bijvoorbeeld: "BOEVLI" OR "BROHER" OR "CLAROS". Om dit steeds handmatig te moeten doen is wel een erg tijdrovend werkje en uiterst foutgevoelig. En toch zijn er veel bedrijven waar men zo tewerk gaat of een ontwikkelaar in de armen sluiten die wel uit is op het genereren van onderhoudskosten...
Zie ook...

