Categorieën
  • Mappen Bestanden (1)
  • MS Access Database (0)
  • Spelletjes Vb.net (2)
  • VB.net (5)
  • VBA Visual basic for applications (4)
  • XML LINQ (1)
  • Inhoud blog
  • Reeksen, Dictionaries, Hashtable
  • Vier op een rij
  • Het belang van Mappen en bestanden
  • XML en LINQ
  • Vb.net en Tekstbestanden
  • String
  • Zeeslag
  • Voorwaarden en Lussen
  • Over willekeurige getalen.
  • Van VBA naar VB.net
    Beoordeel dit blog
      Zeer goed
      Goed
      Voldoende
      Nog wat bijwerken
      Nog veel werk aan
     
    Zoeken in blog

    MS Access VBA VB.Net
    Ontwerpen van Database en VB.net voor Dummies
    27-03-2013
    Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Wat is VBA

    Wat is VBA

    VBA is een objectgeoriënteerde  programmeer taal. Men kan een volledige datastructuur met datatypes en  bewerkingen definiëren. Men kan ook met andere objecten werken voor zover er in  VBA een referentie naar gelegd wordt. Deze worden gevisualiseerd in de object  browser.
    VBA is beschikbaar in alle Microsoft Office programma's, en ieder programma  beschikt over een code Editor die kan geopend worden door Alt+F11 te drukken.

    Ieder object kan beschikken over meerdere  eigenschappen (properties), bepaalde kunnen gewijzigd worden, andere  kunnen enkel gelezen worden. Evenzo beschikt ieder object in Access over  eigenschappen, voorbeeld het formulier-object heeft een caption (opschrift),  breedte, hoogte, achtergrondkleur enz , eigenschap.

    Op objecten kunnen ook methodes  (methods) toegepast worden, welke een actie met het object tot stand  brengen. Zo heeft het DoCmd-object van Access de Beep, OpenForm...enz methode.

    Een Event of gebeurtenis doet  zich voor wanneer een actie met het object plaatsgrijpt,bijvoorbeeld een  formulier die opent.

    Een programma maakt ook gebruik van  variabelen. Voor een variabele wordt in het geheugen een plaats  gereserveerd waar een waarde kan gestockeerd worden. Dit doet men aan de hand  van het de Dim verklaring. Door een geschikte naam  te geven wordt de code leesbaarder. Aan variabelen kunnen verschillende datatypes toegekend worden. Men kan de efficiënte  van de code in de handwerken door de juiste datatypes te hanteren. Het is ten  zeerste aangeraden variabelen te declaren en de het juiste datatype toe te  wijzen, wijst men geen dattype toe dan kent VBA automatisch het datatype variant  toe. Het variant datatype reserveert van alle andere datatype het meeste  geheugen, en laat de code daardoor minder performant werken.
    Door bovenaan een module 'Option Explicit' te vermelden legt men zichzelf de  discipline de variabelen uitdrukkelijk te declaren

    27-03-2013 om 00:00 geschreven door Toon

    0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (1 Stemmen)
    Categorie:VBA Visual basic for applications
    >> Reageer (0)
    Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.VBA Data Types

    VBA Datatypes wijken gedeeltelijke af van deze in VB en VB.net niettegenstaande men soms dezelfde naam gebruikt !


    Datatype Omvang Info Naam conventie
    Byte 1 byte 0 tot 255 Dim bytNummer as Byte
    Boolean 2 bytes True of False Dim blnWaar as Boolean
    Integer 2 bytes -32.768 tot 32.767 Dim intGetal as Integer
    Long 4 bytes geheel getal + en - Dim lngGetal as Long
    Single 4 bytes na de komma Dim sngGetal As Single
    Double 8 bytes na de komma Dim dblGetal as Double
    Currency 8 bytes valuta Dim curGeld As Currency
    Date 8 bytes Dim datDatum as Date
    Object 4 bytes Een refentie naar object Dim objNaam As Object
    String 10 bytes + lengte Dim strLetters as String
    String vast Lengte Tot 65.400 Dim strVastLengte As String * 10
    Variant 22 bytes Dim varGelijkWat As Variant
    User defined Afhankelijk van bepalingen Dim udtZelfGemaakt As ZelfGemaakt

    27-03-2013 om 00:00 geschreven door Toon

    0 1 2 3 4 5 - Gemiddelde waardering: 4/5 - (3 Stemmen)
    Categorie:VBA Visual basic for applications
    >> Reageer (0)
    Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.VBA Procedures Sub en Function.

    VBA Procedures Sub en Function.

    VBA code wordt uitgevoerd in Sub of Function Procedures. Terwijl beide voorgaanden ingekapseld zitten in een Module of een Class-Module.

    • Sub : Bij een Sub wordt een actie uitgevoerd maar wordt er niets geretourneerd. Bijvoorbeeld een formulier openen, een bericht laten zien aan de gebruiker via de MsgBox funtie. Een Sub kan al dan niet argumenten nemen, en kan Public of Private zijn
    • Function : Bij een kan er ook een actie uitgevoerd worden maar er wordt een waarde (zie Datatypes) geretourneerd.

    27-03-2013 om 00:00 geschreven door Toon

    0 1 2 3 4 5 - Gemiddelde waardering: 5/5 - (2 Stemmen)
    Categorie:VBA Visual basic for applications
    >> Reageer (0)
    05-04-2013
    Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Voorwaarden en Lussen
    If Expressie die Waar of Vals is Then
    	Doe iets als de expressie Waar is
    End If
    
    Const strResultaat As String = "Het resultaat is....."
    Sub sAls1()
    If MsgBox("Wat kies je ?", vbQuestion + vbOKOnly, "maak keuze") = vbOK Then
        MsgBox "u koos OK!", vbInformation, strResultaat
    End If
    End Sub
    
    If Expressie die Waar of Vals is Then
    	Doe iets als de expressie Waar is
    Else
    	Doe iets anders indien de Expressie niet waar is
    End If
    
    Sub sAls2()
    Dim strBoodschap As String
    If MsgBox("Wat kies je ?", vbQuestion + vbOKCancel, "maak keuze") = vbOK Then
        strBoodschap = "u koos OK!"
    Else
        strBoodschap = "u koos Cancel"
    End If
    MsgBox strBoodschap, vbInformation, strResultaat
    End Sub
    
    If Eerste Expressie die Waar of Vals is Then
    	Doe iets als de eerste expressie Waar is en negeer volgende ElseIf
    ElseIf Tweede Expressie die Waar of Vals is Then
    	Doe iets als de tweede expressie waar is en negeer volgende ElseIf
    ElseIf Derde Expressie die Waar of Vals is Then
    	Doe iets als de Derde expressie waar is
    End If
    
    Sub sAls3()
    Dim intKeuze As Integer
    Dim strBoodschap As String
    intKeuze = MsgBox("Wat kies je ?", vbQuestion + vbYesNoCancel, "maak keuze")
        If intKeuze = vbYes Then
            strBoodschap = "u koos Yes!"
        ElseIf intKeuze = vbNo Then
            strBoodschap = "u koos No"
        ElseIf intKeuze = vbCancel Then
            strBoodschap = "u koos Cancel"
        End If
    MsgBox strBoodschap, vbInformation, strResultaat
    End Sub
    
    vertoont veel gelijkenis met voorgaande If Then ElseIf Then End If
    maar is overzichtelijk en beter als er veel condities moeten getest worden
    Select case
    	Case 
    		voer actie uit indien waar en ga dan naar End Select
    	Case 
    		voer actie uit indien waar en ga dan naar End Select
    	Case 
    		voer actie uit indien waar en ga dan naar End Select
    ........enz
    End Select	
    
    Sub sSelect()
    Dim strBoodschap As String
    Dim varGegeven As Variant
    
    varGegeven = InputBox("voer willekeurig getal in", "Select Case voorbeeld")
    If IsNumeric(varGegeven) Then
        Select Case varGegeven
            Case Is < 0
                strBoodschap = "Het getal is kleiner dan nul"
            Case Is = 0
                strBoodschap = "Het getal is gelijk aan nul"
            Case Is < 11
                strBoodschap = "Het getal is tussen 1 en 10"
            Case Is < 101
                 strBoodschap = "Het getal is tussen 11 en 100"
            Case Is < 1001
                strBoodschap = "Het getal is tussen 11 en 1000"
            Case Is > 1000
                strBoodschap = "Het getal is groter dan 1000"
        End Select
    Else
        strBoodschap = "u hebt geen getal ingegeven!"
    End If
     MsgBox strBoodschap, vbInformation, strResultaat
    End Sub
    
    For int = 0 To 1000 (of eender ander geheel getal)
    Doe iets, hier wordt een conditie gecontroleerd en herhaal tot aan 1000 (of eender ander geheel getal)
    Next int
    Men kan zonodig de lus verlaten met een Exit For Statement
    
    Sub sFor1(intTelTot As Integer, intDeelbaarDoor As Integer)
    Dim intTel As Integer
    Dim intDum As Integer
        For intTel = 1 To intTelTot
            If intTel Mod intDeelbaarDoor = 0 Then
                intDum = intDum + 1
            End If
        Next intTel
    MsgBox " van 1 tot " & intTelTot & " zijn er " & intDum & vbCrLf & " getallen deelbaar door " & intDeelbaarDoor, vbInformation, strResultaat
    End Sub
    
    For each
    	Doe iets
    Next
    vertoont gelijkenis met voorgaande maar is vooral handig bij objecten en er moet geen limiet getal ingegeven worden
    Hier een voorbeeld met formulieren
    
    Sub sFor2()
    Dim objAccess As Access.AccessObject
    Dim intTel As Integer
        For Each objAccess In CurrentProject.AllForms
            Debug.Print objAccess.Name
            intTel = intTel + 1
        Next
    MsgBox intTel & " formulieren", vbInformation, strResultaat
    End Sub
    
    Do While of Until een bepaalde expressie waar is
    	Doe iets
    Loop
    er moet geen limiet getal ingegeven worden en de lus wordt doorlopen
    tot de conditie waar is
    tussen in kan men bijkomende condities instellen en zonodig de lus verlaten met een Exit Do statement
    
    Sub sDo1()
    Dim intIets As Integer
    Dim intStap As Integer
        intStap = 1000
        intIets = 1
            Do While intIets > 0
                intIets = intIets + 1
                    If intIets > intStap Then
                        If MsgBox(" wij zijn aan " & intIets & " Stoppen ?", vbInformation + vbYesNo) = vbNo Then
                            intStap = intStap + 1000
                                If intStap > 30000 Then
                                    MsgBox "nu moet je stoppen!", vbCritical + vbOKOnly, strResultaat
                                    Exit Do
                                End If
                        Else
                        intIets = -1
                        End If
                    End If
            Loop
    End Sub
    
    Sub sDo2()
    Dim intIets As Integer
    Dim intStap As Integer
        intStap = 1000
        intIets = 1
        Do Until intIets > 30000
            intIets = intIets + 1
            
                    If intIets > intStap Then
                        If MsgBox(" wij zijn aan " & intIets & " Stoppen ?", vbInformation + vbYesNo) = vbNo Then
                            intStap = intStap + 1000
                                If intStap > 29000 Then
                                    MsgBox "nu moet je stoppen, ik verwittig niet meer!", vbCritical + vbOKOnly, strResultaat
                                    intIets = 30001
                                End If
                        Else
                        intIets = 30001
                        End If
                    End If
            Loop
    End Sub
    
    Een variante op Do maar zelfde principe dus
    While een voorwaarde is waar
    	doe iets
    Wend
    
    Sub sWhile()
    Dim intTel As Integer
        While intTel > 30001
            intTel = intTel + 1
            If intTel = 30000 Then
                MsgBox "wij zijn aan " & intTel & vbCrLf & "wij gaan stoppen!", vbCritical, strResultaat
            End If
        Wend
    End Sub
    

    05-04-2013 om 16:42 geschreven door Toon

    0 1 2 3 4 5 - Gemiddelde waardering: 4/5 - (3 Stemmen)
    Categorie:VBA Visual basic for applications
    >> Reageer (0)


    Archief per week
  • 29/04-05/05 2013
  • 08/04-14/04 2013
  • 01/04-07/04 2013
  • 25/03-31/03 2013

    E-mail mij

    Druk op onderstaande knop om mij te e-mailen.


    Gastenboek

    Druk op onderstaande knop om een berichtje achter te laten in mijn gastenboek


    Blog als favoriet !


    Blog tegen de regels? Meld het ons!
    Gratis blog op http://blog.seniorennet.be - SeniorenNet Blogs, eenvoudig, gratis en snel jouw eigen blog!