Access VBA

Min indgangsvinkel til VBA var, at jeg overhovedet ikke har arbejdet "hands on" med kode, siden de første par år af ingeniørstudiet, hvorfor min overordnede målsætning var "blot at komme komme i gang" dvs få en overordnet forståelse for hvordan strukturen i det hele var. Det har jeg fået og mere til.

Der er lagt vægt på øvelse, så man selv skal "bøvle" med koden, uden at få alt for meget forærende. Det er godt. Øvelserne har jeg oplevet, som værende bygget op, så man får en "værktøjskasse" med komponenter, som i et vist omfang kan genindgå i nogle af de efterfølgende øvelser. Også det er fint. Det stimulerer en til at tænke kreativt.

Alt i alt er mine forventninger indfriet.   ..

Lars Aaboe Kristensen, Ribe Amt, Teknik og Miljø

Access VBA

Rigtig god og hurtig respons fra underviser. Skal ikke vente ret lang tid på at få et svar på en problemstilling og spørger man efter en uddybning til eksempelvis en kode, kommer der hurtigt et svar, så man kan komme videre. Har fornemmelsen hele vejen igennem at underviser er villig at bruge den nødvendige tid på en, så man kan få løst opgaven. Bliver tvunget til at arbejde med opgaven, der er ikke nogen nem genvej, hvilket er rigtig godt.

Brian Lind Olsen, OUH Odense Universitetshospital

Excel VBA

Tak for et rigtigt godt og lærerigt kursus.

En af de store fordele ved kurset er, at man kan tage det i det tempo man ønsker og der er ikke noget tidspres.

Opgaverne er gode og udfordrene. Man kan selv, indenfor rammerne, bestemme hvor meget man vil gøre ud af det.

Beskrivelserne til opgaverne er lavet på en sådan måde, at der er også overladt lidt til ens egen fantasi, som jeg synes er en meget god ting.

Kurset har et rigtigt godt niveau, og materialet er godt lavet.

Underviseren ??? Ja, jeg ved ikke hvornår han sover.

Der går ikke lang tid efter man har sendt en opgave, til den er rettet, og altid med en god og konstruktiv kommentar. Også man får underviserens løsningsforslag.

Der er altid hurtig og god hjælp at hente, hvis man er gået i stå. Man får ikke bare løsningen, men et hint, så man kan komme videre.

Jeg vil varmt anbefale det til andre, og gør det !

Endnu engang tak for et godt kursus.

Med venlig hilsen

Peter Juul Jacobsen

Peter Juul Jacobsen, Mærsk Olie & Gas A/S

Excel VBA

Det har været meget nærværende og personlig fjernundervisning med hurtige svar på spørgsmål og feedback på opgaver. Der har været stor engagement og ejerskab fra underviserens side.

Det faglige niveau har været vekslende mellem "begynder" og "ekspert" opgaver.

Brian Deleuran, Radiometer

Excel VBA

Kurset er godt, fordi det tvinger kursisten til at arbejde selvstændigt. Det er lidt lig forelæsning, hvor det er fuldstændigt op til een selv at arbejde med stoffet.
Thor Østergaards pædagogik er baseret på "hjælp til selvhjælp", og alt er holdt i en let og uhøjtidelig tone.

Fjernundervisning har yderligere den fordel at man kan sidde hjemme og koncentrere sig om emnet, uden at blive forstyrret af andre (ofte mindre motiverede) kursister.

Flemming Degn, Privat

Excel VBA

Hurtig response på opgaver.

Udfordrende opgaver.

Flemming Pedersen, Semco Maritime

Excel VBA

Den lette tilgang, og de ret hurtige svar retur. På den måde føler man, man kan få "udnyttet" tiden bedst muligt. 

Jeg kan også godt li' emnerne i øvelserne. De har været meget brugbare - så er det bare at få "overført" til ens egen daglig brug :-)

Tina Eriksen, Skandinavisk Service Partner

< >
Se flere referencer

Find data

Seek

Her følger en lille kodestump, der finder en bestemt post i kundekartoteket:

Public Sub Find()
    Dim db As Database
    Dim rs As Recordset
   
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Kunder")
   
    rs.Index = "PrimaryKey"
    rs.Seek "=", 13
    If rs.NoMatch Then
        MsgBox "Blev ikke fundet"
    Else
        MsgBox "Kunde nr. 13 hedder " & rs("Firma")
    End If
    rs.Close
Set rs = Nothing
End Sub

Bemærk at seek metoden kun kan bruges på indekserede kolonner, hvilket betyder, at den kun kan bruges på table recordssets.

 

Find

Hvis man skal finde informationer i dynasets eller snapshots skal man i stedet bruge Find metoden:

  • FindFirst: starter ved begyndelsen af recordsettet og finder den første forekomst af det søgte.
  • FindLast: starter i bunden og søger baglæns
  • FindNext: Starter ved den aktuelle post og finder næste forekomst
  • FindPrevious: Starter ved den aktuelle post og finder den forrige
  • NoMatch: Returnerer True, hvis det søgte ikke blev fundet

Det kunne se sådan her ud:

rs.FindFirst "KøbIalt >= 100000"

Og selve strukturen kunne sættes sådan her op:

rs.FindFirst betingelse
Do Until rs.NoMatch
    Match fundet - gør noget ved det!!
    rs.FindNext betingelse
Loop

 

SQL

Endelig kan vi bruge en SQL sætning når vi danner vores recordset:

strSQL = "SELECT * FROM Kunder WHERE KøbIalt >= 100000"
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
Do Until rs.EOF
Debug.Print rs("Firma")
rs.MoveNext
Loop

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.