Domino 9 und frühere Versionen > ND6: Entwicklung
Maske übernehmen
animate:
yep.
aussteigen kannst du mit
Exit Sub
Axel:
Hi,
der Code im QuerySave-Event muss so aussehen:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim docLookup As NotesDocument
Dim strKey As String
If Source.IsNewDoc = true Then 'Prüfen ob es sich um ein neues Dok. handelt. Wenn ja, dann erfolgt Prüfung
set doc = Source.Document
Set db = session.CurrentDatabase
Set view = db.GetView( "doppelt" ) 'Verweis auf Ansicht
strKey = doc.Name(0) & ", " & doc.Vorname(0) 'Suchstring zusammensetzen
Set docLookup = view.GetDocumentByKey( strKey, True )
If Not (docLookup Is Nothing) Then
Messagebox "Ein Kunde mit diesem Namen ist bereits vorhanden"
Continue = False 'Speichern verhindern
End If
End If
End Sub
Es reicht die Abfrage If Source.IsNewDoc = true. Wenn diese Bedingung erfüllt ist, also es sich um ein neues Dokument handelt, wird die Prüfung durchgeführt. Bei einem bestehenden Dokument passiert nichts. Es wird nur gespeichert.
Axel
TripleH:
Hallo!
Ich hab mal wieder ein kleines neues Prob.
Und zwar hab ich ja noch immer meine Kalkulationsmaske in der Kundendaten erfasst und berechnt werden.
Die Maske wir ja in der Ansicht "doppelt" gespeichert.
So und jetzt zu meinem Prob in einer anderen Maske hab ich einen Button "Neukunden"
und wenn ich auf den drücke möcht das sich eine Ansicht aufmacht in der nur die Kunden sind die neu angelegt
wurden(also neu angelegte Dokumente).
Ausserdem wenn dann die neuen Dokumente einmal aufgerufen habe sollen sie dann automatisch aus der Liste
gelöscht werden.
Wenn man dann einen auswählt aus der Liste der Neu Kunden sollen dann die Daten aus der Kalkulationsmaske
erscheinen.
Ich denk mal möglich ist es ja genau das gleiche Dokument aufzurufen welches welches als Kalkulationsmaske schon
mal abgespeichert wurde, aber ist es auch möglich das dann z.B. die ganzen Buttons wie "speichern"
die in der Kalkulationsmaske sind dort nicht mehr erscheinen?
Kennt jemand einen Weg wie ich das realisieren kann?
Würd mir echt helfen wenn ich einmal weiß wie das geht da ich das für weitere Masken so ähnlich
auch machen muss.
Danke euch.
Gruß
TMC:
--- Zitat ---Und zwar hab ich ja noch immer meine Kalkulationsmaske in der Kundendaten erfasst und berechnt werden.
Die Maske wir ja in der Ansicht "doppelt" gespeichert.
--- Ende Zitat ---
Die Maske wird NICHT in einer Ansicht gespeichert. Hab ich oben glaub ich schon mal erwähnt. Eine Maske kann nie in einer Ansicht 'gespeichert' werden, siehe oben.
--- Zitat ---So und jetzt zu meinem Prob in einer anderen Maske hab ich einen Button "Neukunden"
und wenn ich auf den drücke möcht das sich eine Ansicht aufmacht in der nur die Kunden sind die neu angelegt
wurden(also neu angelegte Dokumente).
--- Ende Zitat ---
Wie definierst Du "neu angelegt" ? Über einen Status? Das solltest Du wohl tun.
Dazu ein Feld "Status" erstellen in der Maske, computed when composed. Sobald sich der Status ändert, setzt Du das Feld auf "Status 2", "neu angelegt", oder wie auch immer.
Dann eine View-Selection (Ansichtsauswahl) SELECT Status = "DEIN STATUS".
--- Zitat ---Ausserdem wenn dann die neuen Dokumente einmal aufgerufen habe sollen sie dann automatisch aus der Liste gelöscht werden.
--- Ende Zitat ---
Was verstehst Du unter "aufgerufen", meinst Du, sobald das Dok dann also auch 'nur' gelesen wird? Dann brauchst Du einen Postopen-Event-Code, angepasst auf Dein Status-Feld.
--- Zitat ---Wenn man dann einen auswählt aus der Liste der Neu Kunden sollen dann die Daten aus der Kalkulationsmaske
erscheinen.
--- Ende Zitat ---
"Wenn man dann....." Und wo rufst Du das exakt auf? In einem Listenfeld?
--- Zitat ---Ich denk mal möglich ist es ja genau das gleiche Dokument aufzurufen welches welches als Kalkulationsmaske schon
mal abgespeichert wurde, aber ist es auch möglich das dann z.B. die ganzen Buttons wie "speichern" die in der Kalkulationsmaske sind dort nicht mehr erscheinen?
--- Ende Zitat ---
Verstehe ich nicht ganz Deine Logik. Also Buttons verbergen geht über die Verbergen-Wenn Eigenschaften. Dort platzierst Du die Formel Deiner Wahl.
Mal ein persönlicher Rat von mir:
Sagen Dir überhaupt die Begriffe
- berechnet beim Anlegen / computed when composed
- View-Selection (Ansichtsauswahl)
- Postopen
- Listenfeld
was?
Ich befürchte nicht.
Mein Rat ist, dass Du Dir erstmal ein Einsteiger-Buch zu R5 kaufst, z.B. "Domino Designer R5 Anwendungsentwicklung mit Lotus Notes von Raimund Mann", siehe www.amazon.de
Das Buch arbeitest Du dann durch, und danach startest Du mal mit einer simplen Eigenentwicklung.
Ich habe nämlich stark das Gefühl, dass Du jetzt mit Zwang versuchst, eine Notes-DB zu entwickeln, ohne elementare Hintergründe zu kennen. Aber diese Hintergründe musst Du kennen, da kann Dir auch kein Forum helfen.
Meinen Rat, auch mal http://www.nsftools.com/misc/WhatIsNotes.htm durchzulesen, bist Du scheinbar nicht gefolgt, siehe Deine Aussage zu "Maske in Ansicht speichern". Wenn Du englisch nicht so gut kannst ist das auch kein Problem: umso mehr empfehle ich, dass Du Dir ein deutschsprachiges Einsteiger-Buch kaufst.
Sollte Dein Auftraggeber (Chef, oder wer auch immer) Druck auf Dich machen, dass Du was entwickeln musst binnen x Tage: erkläre die Situation. Notes ist keinesfalls mit Trial&Error ohne Vorkenntnisse, ohne Literatur etc. zu erlernen. Selbst ein Quereinsteiger mit viel Programmiererfahrung in anderen Sprachen muss sich erstmal mit den Notes-Eigenarten beschäftigen, vorher geht gar nichts.
Ich habe das Gefühl, Du bist zwar ehrgeizig (oder jemand macht Dir den Druck), hier was zu entwickeln auf die Schnelle, aber imo fehlen Dir einfach die Hintergründe.
Fazit: Brich bitte Dein Notes-Projekt ab, sag dem Auftraggebr Bescheid, und nimm Dir Zeit Notes kennenzulernen. Das wird mit Sicherheit belohnt; vielleicht nicht kurzfristig (Chef sauer etc.), aber spätestens mittelfristig. Du erkennst dann die Zusammenhänge, Eigenarten etc., und dann packt Dich der "Notes-Virus" und willst nur fast nur noch unter Notes entwickeln :-)
TMC
koehlerbv:
Gut gebrüllt, TMC-Löwe.
@TripleH: Lotus Notes / Domino ist was für Profis. Denen, die sich dahin entwicklen wollen, sind wir gerne und uneigengenützig behilflich. Wenn Du also vorwärts kommen willst in diesem Umfeld: Befolge TMC's Rat und bleibe dann mit Deinen Fragen in diesem Forum.
Bernhard
PS: An "Paris-Dakar" darf man auch nicht gleich teilnehmen, nur weil man schon mal ein Auto aus der Garage gefahren hat, ohne sich dabei einen Spiegel abzureissen.
PSS: Die Aufgabenstellung Deines "Projektes" tönt eher danach, dass Notes vielleicht nicht gerade die Plattform der Wahl sein muss. Gehen tut das (definitiv), aber hier muss man offensichtlich Notes etwas beibringen, wozu es eigentlich nicht erschaffen wurde. Und hierzu erfordert es professionelles Notes-Knowhow. Genau diese augenscheinlich fehlende Überlegung ist Euer Problem.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln