Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datensätze begrenzen

Begonnen von pahiti78, August 29, 2012, 20:52:58

⏪ vorheriges - nächstes ⏩

pahiti78

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
Gruß
Matze

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

oma

Hallo Pahiti,

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

Gruß Oma
nichts ist fertig!

pahiti78

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.
Gruß
Matze

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

database

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