Neuigkeiten:

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

Mobiles Hauptmenü

Geht es in einem Endlosformular die Anzahl an Einträgen zu begrenzen?

Begonnen von derilzemer, Juli 16, 2017, 12:38:02

⏪ vorheriges - nächstes ⏩

derilzemer

Hallo,
habe in meinem Haupterfassungsformular ein Unterformular (Standardansicht Endlosformular) die Einträge die man da machen kann auf eine Zahl zu begrenzen, z.B. wie bei mir 3? Wenn es mit dem Endlosformular nicht möglich ist, kann man das generell lösen und wenn ja mit was?
Hintergrund ist, dass ich von einem Artikel den ich selbst besitze und in der DB dokumentiert ist, in einem Unterformular aufliste, zu welchem Preis ich diesen Artikel schon einmal irgendwo gesehen habe. Und genau das will ich maximal 3x machen können. 

Gruß Andreas
Grüße und Dank im voraus
Andreas

Lachtaube

Eine Version wäre, im Vor Einfügen Ereignis im Unterformular zu prüfen, ob es schon 3 oder mehr Datensätze in der Tabelle gibt und dann je nach Ergebnis der Prüfung das Einfügen abzubrechen.
Private Sub Form_BeforeInsert(Cancel As Integer)
   If DCount("*", "TabelleMitdenGesehenenPreisen", _
             "ArtikelId = " & Me.Parent.ArtikelIdFeldImHauptformular) >= 0 Then
      Cancel = True
      MsgBox "Es existieren schon 3 Datensätze zum Artikel"
   End If
End Sub
Grüße von der (⌒▽⌒)

derilzemer

#2
Hi,
ich habe das mal integriert.
Private Sub Form_BeforeInsert(Cancel As Integer)
    If DCount("*", "tblAuktionen", _
        "SpielID_F = " & Me.Parent.SpielID) >= 0 Then
        Cancel = True
        MsgBox "Es können nur 3 Einträge gemacht werden"
    End If
End Sub

"*" sagt doch erst mal alles, oder? Wo ist hier festgelegt, dass maximal 3 DCounts?
Aktuell ich kann jetzt nur 2 hinzufügen, siehe bild1. Das liegt wohl daran, dass er beim hinzufügen des 2 Datensatzes eine Zeile unten anfügt und dann der Meinung ist, es gibt schon 3 Datensätze, oder was meinst du, woran das sonst liegen könnte?

Gruß Andreas
Grüße und Dank im voraus
Andreas

Lachtaube

Freud'sche Fehlleistung. Die 0 ist durch eine 3 zu ersetzen.
Grüße von der (⌒▽⌒)

derilzemer

Hi,
hatte es gerade eben bemerkt und abgeändert:(.
Damit habe ich das freudsche Thema erledigt. Danke.
Gruß Andreas
Grüße und Dank im voraus
Andreas