Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: pahiti78 am August 29, 2012, 20:52:58

Titel: Datensätze begrenzen
Beitrag von: pahiti78 am August 29, 2012, 20:52:58
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
Titel: Re: Datensätze begrenzen
Beitrag von: Beaker s.a. am August 29, 2012, 21:27:49
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
Titel: Re: Datensätze begrenzen
Beitrag von: oma am August 29, 2012, 22:42:50
Hallo Pahiti,

der Grund für eine solche Einschränkung täte mich schon mal interessieren...

Gruß Oma
Titel: Re: Datensätze begrenzen
Beitrag von: pahiti78 am August 29, 2012, 23:46:32
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.
Titel: Re: Datensätze begrenzen
Beitrag von: Beaker s.a. am August 29, 2012, 23:59:38
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
Titel: Re: Datensätze begrenzen
Beitrag von: database am August 30, 2012, 15:40:58
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