IBE151: Forelesning 02.11

Submitted by lroedal on Mon, 12/11/2017 - 19:16

Her finner dere video av dagens forelesning i IBE151. Legg gjerne igjen en kommentar med spørsmål.

Redigert 03.11:

Dato-oppsettet for SQL i Access' VBA-Editor er desverre litt på trynet, og antar i mange tilfeller amerikansk format (mm/dd/yyyy). Slik jeg satte opp SQL-setningen i forelesningen er det derfor litt vilkårlig om dette fungerer som det skal. Har testet en annen løsning, som fungerte tilsynelatende fint;

  1. Dim startdato As Variant, sluttdato As Variant
  2. startdato = Me.comVelgperiode.Column(1)
  3. sluttdato = Me.comVelgperiode.Column(2)
  4. startdato = Format(startdato, "\#mm\/dd\/yyyy\#")
  5. sluttdato = Format(sluttdato, "\#mm\/dd\/yyyy\#")
  6.  
  7. strsql = "SELECT * FROM PassasjerAntall WHERE Dato BETWEEN " & startdato & " AND " & sluttdato
  8. Debug.Print strsql

Startdato og sluttdato defineres som varianter, som kan sees på som "kameleonvarianter". Disse lar deg lagre alle datatyper, så forandrer den seg etter hva som er lagret. Deretter hentes start- og sluttdato fra en komboboks hvor disse er definert i andre og tredje kolonne (i den første ligger navnet på perioden). Etter dette brukes funksjonen Format() for å forandre formatet over til amerikansk format, med de nødvendige "#" som skal være rundt datoer direkte inn i variabelen. Deretter settes det opp en SQL-setning som henter alle oppføringer som er datert innenfor perioden, fra tabelloversikten med datoer og antall reisende.