Autor Thema: Hinweis auf Datensatzanzahl  (Gelesen 2634 mal)

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Hinweis auf Datensatzanzahl
« am: 21.01.07 - 19:05:50 »
Hallo,

möchte in einem Kalender folgende Funktion durchführen:
wenn 7 Einträge gemacht wurden, soll eine MsgBox erscheinen mit dem Hinweis: "Nicht mehr als 7 Einträge bzw. nicht mehr als 5 Einträge".

Gruß Willi

Glombi

  • Gast
Re: Hinweis auf Datensatzanzahl
« Antwort #1 am: 21.01.07 - 19:28:06 »
Das geht mit Script:

Skizze:

Im Queryopen der Maske:

'view = NotesView Objekt für Deine Ansicht
'.... diverse Dims....
Anzahl der vorhandenen Einträge ermitteln:
Set nvec = view.AllEntries
count = notesViewEntryCollection.Count

If count > 5 then
msgbox "Bitte nicht mehr als 5 Einträge",0+16,"Abbruch"
Continue = False
Exit Sub
End if

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Hinweis auf Datensatzanzahl
« Antwort #2 am: 21.01.07 - 22:03:30 »
Das sollte besser ins QuerySave - sonst kann man bestehende Kalendereinträge auch nicht mehr ansehen oder ändern.

Bernhard

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Re: Hinweis auf Datensatzanzahl
« Antwort #3 am: 22.01.07 - 08:01:14 »
Hallo,

erst mal vielen Dank für die schnelle Antwort. Leider klappt es noch nicht so, liegt aber sicher an meiner Problembeschreibung. Es sollen in einem Kalender pro Tag nur 7 Einträge gemacht werden  und freitags nur 5 Einträge.
Gruß W

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Hinweis auf Datensatzanzahl
« Antwort #4 am: 22.01.07 - 08:25:51 »
Du musst im QuerySave eine Suche einbauen, die beim Speichern alle Dokumente mit dem entsprechenden Datum ermittelt. Wenn du dass mit NotesDatabase.Search machst, erhälst du als Ergebnis eine NotesDocumentCollection. Mit NotesDocumentcollection.Count kannst du dann die Anzahl der Dokument ermitteln. Mit der Script-Funktion Weekday ermittelst du den Wochentag und mit diesen Infos kannst du dann die Prüfung durchführen.

Schau die mal zu den einzelnen Methoden und Funktionen die Designer-Hilfe an. Dort findest du einiges an Zusatzinfos und Beispiele.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Re: Hinweis auf Datensatzanzahl
« Antwort #5 am: 22.01.07 - 10:32:05 »
Hallo zusammen, das Script klappt soweit, soll aber auf den einzelnen Tag zugreifen. So wie es unten beschrieben ist macht es die DB nach 5 Einträgen komplett zu. Ich möchte das aber auf die einzelnen Tage setzen, wobei Mo-Do 7 Einträge zulässig sind und Fr nur 5 Einträge. Gibt es eine Lösung für mein Problem ? Bin leider  nicht so bewandert in LS. Gruß Willi

Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim vc As NotesViewEntryCollection
   Set db = session.CurrentDatabase
   Set view = db.GetView("2Kalender")
   Set vc = view.GetAllEntriesByKey("#")
   Set NotesViewEntryCollection = view.AllEntries
   count = NotesViewEntryCollection.Count
   If count >5 Then
      Msgbox "Bitte nicht mehr als 5 Einträge",0+16,"Abbruch"
      continue = False
      Exit Sub
   End If   

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Hinweis auf Datensatzanzahl
« Antwort #6 am: 22.01.07 - 10:50:50 »
So kann das nichts werden. Dir fehlt der Datumsbezug.

Hier mal ein ungetesteter Vorschlag:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim strSearch As String
Dim collection As NotesDocumentCollection

Set db = session.CurrentDatabase

'Suche nach allen Dokumenten mit dem entsprechenden Datum
strSearch = {FeldmitDatum = "} & Source.FieldGetText("FeldmitDatum") & {"}
Set collection = db.Search(strSearch, Nothing, 0)

count = collection.Count

'Abfrage ob Wochentag = Freitag
Select Weekday(Source.FieldGetText("FeldmitDatum"))
Case 2 To 5  'Montag - Donnerstag
   If count > 7 Then
      Msgbox "Bitte nicht mehr als 5 Einträge",0+16,"Abbruch"
      continue = False
      Exit Sub
   End If   
Case 6
   If count > 5 Then
      Msgbox "Bitte nicht mehr als 7 Einträge",0+16,"Abbruch"
      continue = False
      Exit Sub
   End If
Case 1, 7
      Msgbox "Juchu. Wochenende",0+16,"Abbruch"
End Select


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Re: Hinweis auf Datensatzanzahl
« Antwort #7 am: 22.01.07 - 15:53:59 »
Hallo Axel,

klappt leider nicht. Ein Fehler war evtl. Select Case Weekday.... Er zählt nicht durch. Trotzdem Danke
Gruß Willi

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Hinweis auf Datensatzanzahl
« Antwort #8 am: 22.01.07 - 16:12:00 »
Was klappt denn genau nicht? Findet er keine weiteren Dokumente, auch wenn's welche gibt?

Was sagt denn der Debugger?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Re: Hinweis auf Datensatzanzahl
« Antwort #9 am: 22.01.07 - 17:57:20 »
Hallo Axel,

es kommt keine Fehlermeldung, es kommt aber auch kein Hinweis, wenn die Datensatzanzahl des jeweiligen Tages überschritten wird. Ich dachte mir, wenn ich z.b. auf den 26.01. (Freitag) mehr als 5 Datensätze eingebe, das er dann beim 6. Datensatz sagt: "Nix geht mehr" oder das er den Hinweis gibt und den Datensatz dann trotzdem übernimmt.
Die Maske, in der ich das benötige heißt "Eingabe" und das Datumfeld dieser Maske heißt "HerzDat".
Gruß Willi

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Hinweis auf Datensatzanzahl
« Antwort #10 am: 22.01.07 - 19:23:35 »
Ich habe gerade mal ein bisschen gespielt. Der Aufbau des Suchstrings war falsch.

Versuch's mal damit:

    strSearch = {HerzDat=[} & Source.FieldGetText("HerzDat") & {]}


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline lucy123

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Tach zusammen
Re: Hinweis auf Datensatzanzahl
« Antwort #11 am: 23.01.07 - 07:32:54 »
Hallo Axel, es funzt !! Vielen Dank für die Hilfe - auch an die anderen Helfer.
Bis demnächst
Gruß Willi

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz