Hallo,
ist es eigentlich möglich Datensätze einer Tabelle zu begrenzen. Ich möchte eine Tabelle entwerfen, in der genau nur ein Datensatz gespreichert wird bzw. eine Tabelle mit maximal 10 Datensätzen entwerfen.
Danke für eure Vorschläge
Hallo Pahiti,
Auf Tabellenebene kannst Du die Anzahl der DS IMO nicht beschränken.
Das geht nur per VBA, und da kommst es darauf an, wie das Verwaltungs-
formular für diese Tabelle gestrickt ist.
Falls es einen Button zur Neuanlage gibt in dessem Klickereignis, sonst
vielleicht bei BeforeInsert
If Me.RecordsetClone.RecordCount = DeinGrenzwert Then
MsgBox "Maximale Anzahl Datensätze in dieser/diesem Tabelle/Formular erreicht!"
End If
Oder Du setzt in Form_Open die Eigenschaft .AllowAdditions auf False.
hth
gruss ekkehard
Hallo Pahiti,
der Grund für eine solche Einschränkung täte mich schon mal interessieren...
Gruß Oma
Hallo Oma,
ich habe eine Tablle in der ich festlege, nach wievielen Datensätze ich bestimmte Rückantworten erhalte. Wieviele Datensätze in einer Abfrage "noch nicht erledigt" enthalten sein dürfen, bevor ich Warnemeldungen empfange. Ausserden wird festgelegt, nach wievielen Tagen die Daten gelöscht werden sollen. Somit habe ich eine Tabelle, welche ich mit einem Formular "performance" eingebunden habe. Die Tabelle besitzt die Spalten "KritischeAnzahl", "nachlauftage", "LöschabfrageNach". Jetzt ist es so, dass dieses Formular keinen Button zur Hinzunahme eines neuen Datensatzes enthält. Aber mit den BildRauf -und RunterTasten lassen sich dennoch Datensätze anlegen.
Hallo Pahiti,
ZitatAber mit den BildRauf -und RunterTasten lassen sich dennoch Datensätze anlegen.
Na dann stelle die Eigenschaft "Anfügen erlauben" (.AllowAdditions) auf Nein (False).
gruss ekkehard
Hallo,
in Kobination aus deinen nAngaben und den Vorschlägen von Ekkehard läßt sich ein mögliches Lösungsszenario ableiten.
Die Abfrage 'noch nicht erledigt' Liefert nach deinen Angaben jene Datensätze, die gar nicht vorhanden sein sollten.
Im Ereignis 'Beim Öffnen' des Formulars kannst du dich des Abfrageergebnisses bedienen um eine ev. benötigte Sperre der Eingabe zu veranlassen.
Frage daher erst nach der Anzahl der Datensätze, die durch die Abfrage ermittelt werden:
Dim anz as Long
anz = DCount("*", "noch nicht erledigt")
Dann vergleichst du mit dem Inhalt in "KritischeAnzahl" in der Vergleichstabelle
und sperrst die Eingabe bei Bedarf
If anz >= DLookup("KritischeAnzahl","DeineVergleichstabelle") Then 'Die Vergleichstabelle enthält nach deinen Angaben nur einen Datensatz, daher ohne Einschränkung
MsgBox "Maximale Anzahl Datensätze in dieser/diesem Tabelle/Formular erreicht!"
Me.AllowAdditions = False
Else
Me.AllowAdditions = True
End If
Fügst du das Ganze auch noch ins Ereignis 'Beim Anzeigen' (Form_Current) ein hast du auch während einer Eingabe die Möglichkeit zu reagieren.
Sollte eigentlich so lösbar sein