Betingelser
Beskrivelse
Betingelser
Nu har vi lært at stille spørgsmål til brugeren - så skal vi også kunne reagere på det. Til det brug har vi flere muligheder:
If betingelse Then Kommandoer Else Kommandoer End if If betingelse Then Kommandoer Elseif ny betingelse Then Kommandoer Else Kommandoer End if Select Case Variabel Case værdi Kommandoer Case værdi Kommandoer Case værdi Kommandoer Case værdi Kommandoer Case Else Kommandoer End Select Bemærk, at det er god kodestil, at lave indryk, så man kan se hvordan If og End if hænger sammen.
Et eksempel på anvendelse af If sammen med f.eks. MsgBox kunne se sådan her ud:

Bemærk, at der igen dukkede én af disse indbyggede konstanter op (vbYes). Hvis du gerne vil se alle de konstanter, der er defineret i VBA skal du trykke på F1 for at komme ind i hjælpefunktionen. Hvis du vælger Contents fanen hedder den første kategori Constants og her kan du finde alle de konstanter der er defineret i VBA.
Og et eksempel på Select Case konstruktionen kunne se sådan her ud:

Øvelse
Lav en kopi af databasen fra forrige øvelse og kald den "Betingelser"
- Skriv en makro, der skaber denne dialog

Hvis brugeren svarer nej
Ellers:

Hvis tallet er mellem 1 og 5
Og mellem 5 og 10
Mellem 10 og 20
Og større end 20
- Sørg igen for at makroen kan køre fra en knap i på salgsformularen
Send databasen til mig efter du har pakket den samme eller omdøbt den.
Løsning
Du kan hente mit forslag til løsning her.
Private Sub cmdBetingelser_Click() If MsgBox("Skal vi gå i gang?", vbYesNo + vbQuestion, "Velkommen") = vbYes Then MsgBox "Meget fint" Do AntalGange = InputBox("Hvor mange gange skal vi køre?", "Så kører vi", 10) Loop Until IsNumeric(AntalGange) Select Case AntalGange Case 1 To 5 MsgBox "Det var ikke mange" Case 6 To 10 MsgBox "Tja... det er sikkert fint" Case 11 To 20 MsgBox "Det var mange - det er jeg ikke sikker på jeg kan klare" Case Else MsgBox "Det går ikke" End Select Else MsgBox "ØV" End If End Sub Læg mærke til If MsgBox konstruktionen - der er 2 ting man kan lære af den - dels selve konstruktionen men også muligheden for at kombinere knapperne i boxen med et spørgsmåltegn (der er flere af den slags elementer man kan kombinere med knapperne).
Læg også mærke til Do Loop konstruktionen, der sikrer, at brugeren skriver et tal.
Brug for hjælp til VBA, VSTO eller SQL?
Scient Data tilbyder professionel IT-konsulentbistand
Kontakt Scient Data →