IT Fjernundervisning

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:

Access VBA kursus - VBA makro eksempel med if - fjernundervisning

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:

Access VBA kursus - VBA makro eksempel med select case - fjernundervisning


Øvelse

Lav en kopi af databasen fra forrige øvelse og kald den "Betingelser"

  1. 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
  2. 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 →