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

Word VBA

Jeg er total overrasket over den korte svartid. Det er et KÆMPE plus hvis man selv til tider arbejder under tidspres og ved man kun har en kort tid at arbejde på en opgave.

Der er heller aldrig slinger i valsen på spørgsmål; altid kort og præcis svar retur. 

At kunne lave opgaverne når det passede mig var helt fantastisk. 

Tina Eriksen, Skandinavisk Service Partner

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

Hurtig response på opgaver.

Udfordrende opgaver.

Flemming Pedersen, Semco Maritime

Excel VBA

At jeg kan fordybe når jeg har tid og lyst, er super.

Virkelig hurtig respons fra underviseren - næsten døgnet rundt :)

Øvelserne indeholdt hvad jeg skulle bruge, for at komme videre med egne vba-projekter.

At man kunne sammenligne egne løsninger med underviserens var lærerigt.

Henrik Boss, Marel Bornholm

Excel VBA

Godt med muligheden for sparring med underviser og forslag til andre løsningsmetoder end mine egne - selvom mine også fungerede.

Godt med muligheden for ingen tidsbegræsning for kurset. Havde jeg - pga. arb. situation, brug for.

Anja Hansen, TDC

< >
Se flere referencer

Sortering af data

Afhængigt af hvilken recordset type man arbejder med kan man få sorteres sine data:

Table

Her skal man bruge index metoden - et lille eksempel hentet fra hjælpefilen:

Sub IndexPropertyX()

    Dim dbsNorthwind As Database
    Dim tdfEmployees As TableDef
    Dim rstEmployees As Recordset
    Dim idxLoop As Index

    Set dbsNorthwind = OpenDatabase("Northwind.mdb")
    Set rstEmployees = dbsNorthwind.OpenRecordset("Employees")
    Set tdfEmployees = dbsNorthwind.TableDefs!Employees

    With rstEmployees

        ' Enumerate Indexes collection of Employees table.
        For Each idxLoop In tdfEmployees.Indexes
            .Index = idxLoop.Name
            Debug.Print "Index = " & .Index
            Debug.Print "  EmployeeID - PostalCode - Name"
            .MoveFirst

            ' Enumerate Recordset to show the order of records.
            Do While Not .EOF
                Debug.Print "    " & !EmployeeID & " - " & _
                    !PostalCode & " - " & !FirstName & " " & _
                    !LastName
                .MoveNext
            Loop

        Next idxLoop

        .Close
    End With

    dbsNorthwind.Close

End Sub

Dynaset

Her kan man bruge Sort metoden på recordsettet. Et lille eksempel jeg har bikset sammen:

Public Sub Gennemloeb()
    Dim db As Database
    Dim rs, rs2 As Recordset
    Dim intAntal As Integer
    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Kunder", dbOpenDynaset)
    rs.Sort = "KøbIalt"
    rs.MoveFirst
    Set rs2 = rs.OpenRecordset
   
    Do While Not rs2.EOF
        Debug.Print rs2("Kundenr") & " " & rs2("Firma") & " " & rs2("KøbIalt")
        rs2.MoveNext
    Loop
    rs.Close
    rs2.Close
End Sub

Og her er forklaringen på at der skal bruges 2 recordsets:

"When you set this property for an object, sorting occurs when a subsequent Recordset object is created from that object."

SQL

Endelig kan man når man henter informationerne ind via et SQL kald med det samme sørge for at de er sorterede:

strSQL = "SELECT * FROM Kunder WHERE KøbIalt >= 100000 ORDER BY KøbIalt"

Hvis du vil lære mere om SQL kan jeg anbefale et kursus :-)

 - eller at du kigger på www.w3schools.com

 

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.