In- en uitvoeropdrachten

Een invoeropdracht kan een inhoud geven aan een variabele. Deze inhoud wordt toegekend in een programma (procedure) of rechtstreeks via ingave met het klavier.

Invoeropdracht of toekenningsopdracht in procedure

Het Let-statement

D.m.v. het Let-statement kan men een inhoud toekennen aan een variabele.

[Let] variabele = uitdrukking

Een uitdrukking kan zowel rekenkundig, logisch of tekst zijn.
Een variabele moet een inhoud toegewezen krijgen die overeenkomt met het type declaratie (Dim) van de variabele.

Indien de variabele van het Variant-type is, kan de uitdrukking om het even wat zijn.

Voorbeelden

Let intTeller=1

De variabele intTeller krijgt de waarde 1

strTitel="Dit is een cursus Access"

De stringvariabele strTitel krijgt de inhoud "Dit is een cursus Access".

BlnSchakelaar=true

De logische (Boolean) variabele krijgt de waarde true

Dtmgeboortedatum=#08/11/78#

Datums plaatst men steeds tussen hekjes (#).
De datumvariabele dtmgeboortedatum krijgt de inhoud 08/11/78.

Het woord Let is optioneel !

Naamgevingen van de variabelen worden gerespecteerd naar de regels van Reddick , d.w.z. voorzien van tags.

Type variabele

Tag

Boolean

bln

Byte

byt

Date

dtm

Double

dbl

Integer

int

Long

lng

Object

obj

Single

sng

String

str

Variant

var

In een toewijzingsopdracht beschikt men over operatoren:

Rekenkundige operatoren
Onderstaande operatoren staan in volgorde van prioriteit in de uitvoering.
^ Machtsverheffing
- Negatief maken van een variabele of een constante (getal)
* en / Vermenigvuldiging en deling
\ Gehele deling
Mod De rest van een gehele deling (modulus)
+ en - Optellen en aftrekken

De stringoperatoren
Tekst kan aan elkaar gekoppeld worden door het &-teken (ampersand) of door het plusteken.

Voorbeelden

Het vraagteken betekent dat de inhoud erna wordt afgebeeld !

Voorbeeld

Resultaat

? "De Mol"&" "&"Johan" 

"De Mol Johan"

 Let strvandaag ="woensdag"

? "Het is vandaag "&strvandaag

"Het is vandaag woensdag" 

Let intTeller=10
Let intTeller=intTeller + 1
? "De teller = "&trim(str(intTeller)

"De teller = 11" 

Een invoeropdracht langs klavier

De functie InputBox

Een InputBox geeft bij de uitvoering een dialoogvenster. In dit venster kan men d.m.v. een tekstvak (= een object) een gegeven intypen dat na het aanklikken van de OK-knop of het indrukken van de Enter-toets wordt toegewezen aan een tekstvariabele. De andere knop 'Annuleren' wordt gebruikt indien de invoer niet mag geaccepteerd worden.

Tekstvariabele=InputBox(prompt [,title][,default][,xpos][,ypos][,helpfile, context])

De vierkante haken [] duiden op een optioneel deel in de functie.

Prompt

Tekst die wordt weergegeven in het dialoogvenster. Maximum 1024 karakters zijn toegelaten en tevens afhankelijk van lettertype.

Title

Tekst in de titelbalk van het dialoogvenster

Default

De standaardwaarde in het invoervak

Xpos

Een numerieke waarde of expressie, uitgedrukt in twips (zie uitleg onderaan), die de afstand aangeeft tussen de linkerrand van het scherm en de linkerrand van het dialoogvenster.

Ypos

Een numerieke waarde of expressie, uitgedrukt in twips, die de afstand aangeeft tussen de bovenkant van het scherm en de bovenrand van het dialoogvenster.

Helpfile

Tekst uit een file die het bijhorende helpscherm weergeeft

Context

Een volgnummer van de verschillende helpschermen

 

Twips: Een twip is een schermonafhankelijke eenheid, d.w.z. dat de resolutie van het scherm geen invloed heeft op de grootte van het scherm.
Er zijn 1440 twips in een logische inch. Eén inch bij de afdruk op de printer is 1440 twips op het scherm. Dit komt overeen met 567 twips per logische cm.

Voorbeeld

De som van twee getallen. Deze gehele getallen, liggend tussen 0 en 100, worden gekozen door de computer.

Dim strIngave as String
Dim strPrompt as String
Dim strTitel as String
Dim intGetal1 as Integer
Dim intGetal2 as Integer

intGetal1=int(rnd*100+1)
intGetal2=int(rnd*100+1)

strPrompt="Opgave "&Chr(13)&Chr(10)&Str(intGetal1)&" + "&Str(intGetal2)&" = "
strTitel="Optelling"

strIngave=Inputbox(strPrompt,strTitel)

 Een mogelijk resultaatvenster is:

Bespreking van het programma

De variabelen worden gedeclareerd door het DIM-statement.

Er wordt een willekeurig getal gekozen door de functie rnd. Dit getal ligt tussen 0 en 1 (nul inbegrepen, maar kleiner dan 1). Daarom wordt er met 100 vermenigvuldigd om getallen te krijgen tot 99,999…
Om geen nul te krijgen wordt er 1 bijgeteld.
Alle decimalen worden weggelaten door de functie int.

De variabelen strPrompt en strTitel worden gebruikt om de inputbox op te bouwen:

strTitel als tekst in de titelbalk van het venster.
strPrompt als tekst binnen het venster.

Wanneer de inputbox wordt uigevoerd krijgt men standaard twee opdrachtknoppen en een invoervak (textbox) in het venster. De inhoud die in dit invoervak wordt binnengebracht wordt toegewezen aan de stringvariabele strIngave.

Opmerking:

Chr(13)&Chr(10) betekent dat er in de tekst een nieuwe lijn wordt genomen.

Hoe wordt nu zo'n procedure binnengebracht ?

Maak een nieuw formulier in ons geval zonder toewijzing van een tabel.
Kies in beeld Code of gebruik de knop Code

Je krijgt:

Kies daarna in het venster voor object 'Form'; er verschijnt Private Sub Form_Load() en End Sub. De code die tussen deze 2 statements wordt binnengebracht zal uitgevoerd worden bij de uitvoering of het laden (de gebeurtenis load) van het formulier.

Typ de hiernavolgende programmacode:

Een vervolglijn van een statement wordt verwezenlijkt door een blanco en onderstrepingsteken _.

Vooraleer het programma uit te voeren zal men best het programma eerst compileren. Compileren betekent dat het programma wordt gecontroleerd op syntaxfouten en wordt omgezet in machinetaal.

Dit compileren kan door de knop:

of door de menukeuze foutopsporing en daarin geladen modules compileren.

Het uitvoeren van de module gebeurt door het formulier te openen.

Om de programmacode terug op scherm te krijgen keert men terug naar de ontwerpweergave van het formulier en kies daarin de knop :

 

De uitvoeropdracht MSGBOX.

Het statement MsgBox geeft een bericht weer in een dialoogvenster en wacht tot de gebruiker één van de ingestelde knoppen kiest.

MsgBox prompt [, buttons [, title]]

Prompt een string die wordt afgebeeld in het dialoogvenster
buttons een integer die aangeeft hoeveel knoppen er in het venster moeten voorkomen
title een string die wordt afgebeeld in de titelbalk van het dialoogvenster

De weergave van de buttons (knoppen) is afhankelijk van de som van een aantal mogelijke waarden:

 De knoppen in het in dialoogvenster worden door volgende waarden bepaald:

Waarde

Knop

0

OK-Knop

1

De knoppen OK en Annuleren

2

De knoppen Afbreken, Herhalen en Overslaan

3

De knoppen Ja, Nee en Afbreken

4

De knoppen Ja en Nee

5

De knoppen Opnieuw en Afbreken

De waarde die je bovenstaande tabel moet optellen voor een bepaald pictogram te krijgen zijn de volgende:

Waarde 16

Waarde 32

Waarde 48

Waarde 64

Bij de som van de vorige waarden kan je nog een waarde optellen om de standaardknop te bepalen:

0

De eerste kop is de standaardknop

256

De tweede knop is de standaardknop

512

De derde knop is de standaardknop

Uitbreiding van ons bovenstaand programma:

 

Na uitvoering van het formulier krijgt men bijvoorbeeld volgende message box: