Dateneingabe beschränken

mikel

Aktiver Benutzer
Beiträge
38
Hallo zusammen,
habe mal wieder eine Frage. Es besteht ja die Möglichkeit Datensätze zu begrenzen.

Beispiel:
Code:
Private Sub Form_BeforeInsert(Cancel As Integer)
If DCount("*", "tblDeinetabelle") >= 10 Then
MsgBox "nur 10 DS zugelassen"
Cancel = True
End If
End Sub

Ich würde das Ganze gerne in einer Adminconsole steuern.
z.B.
Checkbox 50 soll 50 Datensätze zulassen
Checkbox 150 soll 150 Datensätze zulassen
usw.

geht das überhaupt per vba und wenn ja wie kann ich das im Formular einbauen?

Grüße
 
Werbung:
Wahrscheinlich geht es eher in vba als anders. Echte Trigger gibt es ja nicht.
Eine solche Begrenzung ist seitens SQL ungewöhnlich und wäre wahrscheinlich abhängig von den Fähigkeiten der DB jeweils unterschiedlich zu realisieren..
Welche Adminconsole gibt es denn in Access?
 
Ich verstehe deine Frage nicht. Du schreibst "Es besteht ja die Möglichkeit Datensätze zu begrenzen."
Wenn du es doch schon geschafft hast die Einträge zu begrenzen brauchst du doch nur noch die Menge durch eine Variable zu ersetzen die das Ergebnis deiner checkbox enthält.
 
Werbung:
Ansonsten kann du mit einem ungebundenen Formular arbeiten und die Datensätze im VBA per SQL Insert einfügen. Vor dem einfügen kannst du die Menge abfragen und entscheiden ob eingefügt wird oder nicht.

Beispiel:

Code:
    ' *********************************************************************
    ' *** Eingegebene Email Adresse speichern falls diese neu *************
    ' *********************************************************************
    If boolEmailNichtInSpeicher = True Then
        Dim wrk As DAO.Workspace
        Dim dbs As DAO.Database
        Dim qry As QueryDef
        Dim sqlinsert As String

        Set wrk = DBEngine(0)
        Set dbs = Application.CurrentDb
        Set qry = dbs.CreateQueryDef("")

        sqlinsert = "INSERT INTO tblEmailSpeicher" _
                          & " (Email)" _
                   & " VALUES ('" & txtKd_Email & "');"

        qry.SQL = sqlinsert
        qry.Execute
        Set qry = Nothing
        Set dbs = Nothing
    End If
 
Zurück
Oben