filterprobleem

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Ik tracht een filter te zetten op een formulier dat ik open. Deze werkt enkel indien ik de deze sql op de WhereCondition in het Openform-commando zet. Met dit resultaat dat ik het aantal records op de databank wel verklein, maar er nog nieuwe records ingevoerd kunnen worden. Als ik de voorwaarde als Filtername gebruik wordt er niets gefilterd. Het is de bedoeling met de filter enkel het aantal records te laten zien die aan de voorwaarde voldoen en de gebruiker niet de mogelijkheid te geven om nieuwe records in te voeren. Ik heb ook reeds getracht om het commando "Formuliernaam.Form.Filteron = True" te gebruiken, maar dat werkt ook niet. Hierbij de code. :confused:
Code:
Private Sub Knop70_Click()
    Dim sqlFilterfrm As String
    sqlFilterfrm = "tblWerkgroepCGS.WerkgroepCGSID= " & Me.IDWerkgroepCGSID

    DoCmd.OpenForm "frmRollenVerantwoordelijkheden", , , sqlFilterfrm, , acDialog
End Sub
 
Filteren heeft niks te maken met wel of niet gegevens invoeren. Wél met hoe je het formulier gebruikt. Een formulier kun je bijvoorbeeld met de parameter acFormReadOnly zo instellen dat je alleen kunt lezen, en dus niks kunt invoeren. Ook kun je bij het openen van het formulier de eigenschap <Gegevensinvoer> op Nee zetten. Beide instellingen zijn bruikbaar. Maar of je het formulier filtert of niet doet er dus niet toe; dat bepaalt alleen wélke records je te zien krijgt.
 
Het is mijn bedoeling om gegevens te kunnen wijzigen zonder extra records toe te voegen. Met een filter wordt de tabel zo ingesteld, dat dacht ik toch. Er kunnen dan geen extra records toegevoegd worden, maar de records in de gefilterde tabel kunnen nog wel aangepast/gewijzigd worden. De parameter AcFormReadOnly laat niets toe, noch wijzigingen, noch toevoegingen. De parameter AcFormEdit laat ook het toevoegen van records toe. Ik heb nu de eigenschap <Toevoegingen toestaan> op Nee gezet en het werkt prima. Ik wilde echter deze eigenschap via VBA instellen. Heb de oplossing gevonden: AllowAdditions = False als property in VBA instellen. Was deze eigenschap helemaal vergeten, en dacht dat ik deze eigenschap rechtstreeks op het formulier kon instellen. Maar probleem opgelost. :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan