Tips over Microsoft Word vind je op Werken met Word
TIPS

DATABASES

QUERIES

FORMULIEREN

RAPPORTEN

MODULES

FORUM

CONTACT



ZOEKEN
 

Eigen functies gebruiken in Query's

In een Query kan, naast de beschikbare SQL-functies, ook gebruik worden gemaakt van eigen functies. Ga daarbij als volgt te werk.
1. Maak een Public functie in een module
2. Roep deze aan in een Query

Stel je hebt een query waarvan je het resultaat als opgemaakte tekst wilt exporteren naar Excel. In het resultaat zitten een aantal kolommen van het datatype Boolean. In plaats van dat je deze als TRUE of FALSE (of WAAR/ONWAAR, etc.) naar Excel wilt sturen, wil je hier een "Ja" of "Nee" teruggeven.

1. De public functie
Public Function MaakJaNee(wrd) as String
Dim ret as String
ret = "Nee"
if wrd = true then ret = "Ja"
MaakJaNee = ret
End Function

2. De Query
In de Query typ je (bijvoorbeeld):

SELECT Voornaam, Achternaam, MaakJaNee(PersoonActief) as PersoonActief FROM Personen ORDER BY Achernaam, Voornaam;

Deze methode kun je natuurlijk op oneindige manieren toepassen. Wanneer je bijvoorbeeld datumvelden uit een andere database als tekstwaarden binnenkrijgt als 1090128 en dit eigenlijk betekent: 109 jaar na 1900, maand 01 en dag 28 dan kun je dit met een eigen functie in je Query al omzetten naar een datum:

Public Function ConverteerDatum(dat_wrd) as Date
Dim jr as long
Dim mnd as long
Dim dg as long
jr = clng(left(dat_wrd,3) + 1900)
mnd = clng(right(left(dat_wrd, 5),2))
dg = clng(right(dat_wrd,2))

ConverteerDatum = CDate(DateSerial(jr, mnd, dg))

End Function

  Reageer op deze tip

Er is 1 reactie
Bart (30-10-2015)
Beste Microsort Access Tips,

Ik wil jullie heel erg bedanken voor deze mooie site. Ik heb voor mijn werk een access cursus moeten volgen. Het was zeer leerzaam, maar altijd als ik iets even vergeten ben ga ik naar jullie site, en kan altijd een antwoord vinden. Jullie zijn te gek!

Groeten,
Bart
  Reageer op deze tip

De volgende tips zijn beschikbaar:
  • Comprimeren (handmatig)
  • Gegevens converteren: Controleren of iets een Decimal is
  • Gegevens converteren: Controleren of iets een Integer is
  • Gegevens converteren: Null-waardes afvangen
  • Melden dat een onderdeel nog niet gereed is
  • Onderdelen van je pakket afschermen met een wachtwoord