apply filter

Status
Niet open voor verdere reacties.

rudike

Gebruiker
Lid geworden
16 mrt 2002
Berichten
48
Hoi allemaal,
Ik wil op een formulier voor iedere letter van het alfabet een knop maken, deze knop (vb A) moet dan de bijhorende namen geven (alle namen beginnend met de letter A)
ik dacht als code te gebruiken
Docmd.OpenForm "......"
Docmd.ApplyFilter "VeldFamNaam = 'A*'"
doch het werkt niet
-is het * als jokerteken verkeerd? of wat doe ik verkeerd

Reeds bedankt voor een antwoordje
 
probeer het eens met een extra comma achter applyfilter en mogelijk de = vervangen door like

Docmd.ApplyFilter , "VeldFamNaam like 'A*'"
 
Bedankt,
het werkt

nog een vraagje hierover
als er nu geen naam wordt gevonden met die letter had ik graag een Mgsbox laten zien
Met vb niets gevonden met die letter
ik probeer met de volgende code, maar ook hier zit een fout in

Code:
' If DCount("veldfamnaam", "QryAlleLedenPerLetter") < 0 Then
' msgbox "geen letter gevonden"
' Else
DoCmd.OpenForm "frmalleLEdenPerLetter"
DoCmd.ApplyFilter , "veldfamnaam like 'h*'"
DoCmd.Close acForm, "FrmSchakelbordPerLetter"
' End If

Rudi
 
Tik boven je 'if' regel, even een testje, iets van:
vl_test = DCount("veldfamnaam", "QryAlleLedenPerLetter")

Laat je code op die plaats stoppen en ga met je muis op de variable vl_test staan.
Als hij nu aangeeft vl_test is 'null' dan betekend dat dat hij geen records gevonden heeft maar dat hij niet de waarde 0 heeft, maar null (leeg) is.
En dan kun je je 'if' functie als volgt maken
If not isnull( DCount("veldfamnaam", "QryAlleLedenPerLetter") then
...


Theo
 
Theo,

ik denk dat ik de volgende fout maak
de "QryAlleLedenPerLetter" is nooit leeg (alleen als er geen enkele naam in staat/bij het begin) deze gebruik ik om uit de "TblAlleLeden" de "FamNaam" te selecteren, die dan in het "FrmAlleLedenPerLetter" worden getoond en door de filter te gebruiken per letter.
voorbeeld:
Op mijn schakelbord heb ik per letter een knop aangemaakt voor de "letter Z"
DoCmd.OpenForm "frmAlleLedenPerLetter"
DoCmd.ApplyFilter , "veldfamnaam like 'Z*'"
DoCmd.Close acForm, "FrmSchakelbordPerLetter"
Nu als er geen naam wordt gevinden met de begin letter Z ,had ik graag een MsgBox en dat lukt me niet
Rudi
 
bij niet gevonden.....

Zet er dan bij :

If (.RecordsetClone.RecordCount = 0) Then
' Een bericht weergeven als er geen records worden gevonden voor de geselecteerde letter.
Beep
MsgBox "Er zijn geen namen voor deze letter", vbOKOnly, "Geen namen gevonden"
DoCmd.CancelEvent
End If

fer frerichs
 
Sorry, zal zeker aan het warme weer liggen ...
maar dit werkt ook niet
Code:
DoCmd.OpenForm "frmAlleLedenPerLetter"
DoCmd.ApplyFilter , "veldfamnaam like 'Z*'"
DoCmd.Close acForm, "FrmSchakelbordPerLetter"
If (.RecordsetClone.RecordCount = 0) Then
' Een bericht weergeven als er geen records worden gevonden voor de geselecteerde letter.
Beep
MsgBox "Er zijn geen namen voor deze letter", vbOKOnly, "Geen namen gevonden"
DoCmd.CancelEvent
End If

krijg steeds bericht
compileer fout
ongelodige of niet gekwalificeerde verwijzing
Rudi
 
Oke , zo kom je er niet uit .
Wil je dat ik je een voorbeelddatabase opstuur ?
Wel ff melden , want dan moet ik hem uit mijn eigen database slopen ......


Fer Frerichs
 
Fer Frerichs,
heb zoniet de ervaring met Access Xp, werk nog hoofdzakelijk met Access 2000, maar hoe vind ik de code van de knoppen ???
Rudi
 
knoppen

Blijkt toch versie van Access 2000 te zijn....
De code vind je in module:Geconverteerde macro- Telefoonlijst klanten

Fer Frerichs
 
nogmaals bedankt voor de antwoorden,
doch het lijkt me iets te moeilijk
ik blijf in ieder geval verder proberen

groetjes Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan