|
Eksempler på SandhedstabellerBetinget logik involverer brugen af såkaldte Boolske operatorer (AND og OR med flere)og resultatet er typisk et Boolsk resultat, dvs. Sand (TRUE) eller falsk (FALSE). Der er dog også mulighed for at teste på om noget er numerisk, er Null (tom), mangler osv. Det giver nogle specielle muligheder.
Man kan opstille en såkaldt ”Sandhedstabel” for de forskellige boolske operatorer (Når Null er en mulighed ud over TRUE og FALSE, taler man om ”tre-værdi logik”. Dette forekommer sjældent i VBA, men forekommer hyppigere i andre sprog, fx SQL (et forespørgselssprog til databaser). Tre-værdi logik er derfor kun vist i et enkelt eksempel til sidst i artiklen.
Nedenfor ar vist nogle sandhedstabeller. De skal læses som om de består af to udsagn. Hvert udsagn kan være sandt, falsk eller Null (tomt) :
AND-Sandhedstabel
NB! En "AND" er kun sand hvis begge udsagn er sande.
OR-sandhedstabel
Er OR er SAND hvis mindst ét af udsagnene sande.
XOR (Exclusive OR) sandhedstabel.
NB! En Exclusive OR er kun sand, hvis netop et udsagnene er sande, men er falsk, hvis begge udsagn er sande.
Ligheds-Sandhedstabel
En LIGHED er sand, hvis de to udsagn har samme værdi, falsk hvis de er forskellige
Uligheds-sandhedstabel
En ULIGHED er sand, hvis de to udsagn har forskellige værdier, men falsk, hvis de har samme værdi.
Eksempel på en sandhedstabel for funktionen ISNULL i VBA
ISNULL er altid falsk, med mindre værdien faktisk er null, og omvendt er NOT ISNULL altid sand, med mindre udsagnet er NULL.
Eksempel på tre-værdilogik i end And sandhedstabel
AND-Sandhedstabel med treværdilogik
NB! En "AND" er kun sand hvis begge udsagn er sande. Resultatet bliver altid NULL, hvis bare et af udsagnene har en Null-værdi.
- Tilbage til Betinget
logik - |