Autor Thema: Maske übernehmen  (Gelesen 9759 mal)

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Maske übernehmen
« am: 31.12.03 - 14:30:42 »
Hallo!
Tut mir Leid das ich so viel Frage aber wer nicht fragt bleibt dumm:)
Und zwar hab ich eine Maske "Kunden erfassen"in der ich Daten speichern kann die in der Ansicht Kunden gespeichert werden und nach Nachnamen geordnet sind. Allerdings wie kann ich verhindern das Namen Doppelt angelegt werden?
Nachnamen können ja identisch sein aber beim Vornamen muss ja dann unterschieden werden.
Meine 2, Frage ist folgende: Von der Maske Kunden erfassen werden die Daten gespecihert und dann spring ich rüber zu der Make Kalkulationen wo Berechnungen zu dem Kunden gemacht werden. Wie kann ich erreichen das die Daten aus der Maske Kunden erfassen dann automatisch im Kopf von der Maske Kalkulationen steht?
Vielen Dank

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:Maske übernehmen
« Antwort #1 am: 31.12.03 - 15:02:58 »
Hi,

eine Lösung für die Prüfung auf doppelte Einträge, wäre eine Prüfung im QuerySave - Event der Maske. Dazu legt du dir eine Ansicht an, die in der ersten Spalte den Nach- und den Vornamen anzeigt und aufsteigend sortiert ist. Im QuerySave-Event prüfst du mit der GetDocumentByKey-Methode aus der NotesView - Klasse, ob es schon Einträge gibt.

Zur zweiten Frage:
Es gibt in den Maskeneigenschaften die Option "Formel übernehmen Werte aus gewähltem Dokument". Diese markierst du in der Maske Kalkulationen. In die Felder, die Daten aus der Kunden-Maske anzeigen sollen, trägst du als Vorgabewert-Formel oder als Werte-Formel (je nachdem ob es berechnete oder bearbeitbare Felder sein sollen) die entsprechenden Feldnamen aus der Kunden-Maske ein. Die Feldnamen selbst müssen nicht unbedingt identisch sein.

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

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #2 am: 31.12.03 - 17:11:34 »
Hallo!
Danke zur 2. Frage hat supi geklappt leider bei der 1. noch nicht so ganz und zawr hab ich jetzt noch eine Ansicht "doppelt" erstellt in der die 1. Spalte der Nachname ist und die 2. Spalte der Vorname. Beides in einer Spalte ist doch garnicht möglich oder?
Doch wie ist das mit der GetDocumentByKey-Methode aus der NotesView?Müßte ich in die Kalkulationsmaske wo der speichern Button ist?irgendwie ist mir das noch nicht ganz klar?
Ich hoffe du kannst mir nochmal helfen:)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Maske übernehmen
« Antwort #3 am: 31.12.03 - 17:55:02 »
Beides in einer Spalte ist ohne weiteres möglich. Beispiel:
Code
LastName + ", " + FirstName
Der Key für NotesView.GetDocumentByKey muss dann natürlich identisch aufgebaut werden.

Für das Verfahren ist dann aber noch gaaanz wichtig:
- Prüfen musst Du in dem Moment, wo Kundendaten gespeichert werden (ich vermute mal, dass das NICHT Deine Kalkulationsmaske ist)
- Ist das zu prüfende Dokument neu, darf es mit NotesView.GetDocumentByKey NICHT gefunden werden.
- Wird ein bereits bestehendes Dokument geprüft (falls erforderlich, also, wenn die bereits gemachten Kundenangaben geändert werden dürfen), muss dies über NotesView.GetAllDocumentsByKey erfolgen, und dann darf die resultierende NotesDocumentCollection nur ein Document enthalten mit der selben UNID wie das gerade in der Mache befindliche.

HTH,
Bernhard

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #4 am: 01.01.04 - 14:06:37 »
Hallo!
 Leider hab ich noch nicht ganz hinbekommen. Die Daten werden in meiner Kundenerfassen Maske gespeichert.
Dort hab ich mir jetzt Querysave rausgesucht wo dann eine Prozedur erscheint die ich dann so ergänzt hab:

Sub Querysave(source As Notesdocument, Continue As Variant)
Notesview.Getdocumentykey(name +","+vorname,optional byval exactmatch as integer)as notesdocument
End Sub


Leider kommt immer die Fehlermeldung:

Kundenerfassung: Querysave:2 Unexpected; name;Excepted: Expression

Ich Ihr könnt mir nochmal helfen.
Gruß

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Maske übernehmen
« Antwort #5 am: 01.01.04 - 14:37:58 »
öffne doch mal die Designer Hilfe und such nach der GetDocumentByKey-Methode.
Dann schaust du dort, was die Parameter bedeuten, die du der Methode mitgeben musst und dann hast du dein Problem schon gelöst.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #6 am: 01.01.04 - 17:35:40 »
Hallo!
Du hast recht! Doch das ist meon großes Prob die Hilfe ist nicht installiert und ich kann sie erst Moantag nachinstallieren.
Und jetzt häng ich in der LUFT WEIL MÖCHT SCHON WAS TUN BIS DAHIN:
Ich hoffe du bringst es übers Herz und bist heut mal meine Hilfe:)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #7 am: 01.01.04 - 17:43:57 »
Download hab ich Dir ja glaub ich schon gepostet:

Download Designer Hilfe

Hier gibts die Hilfe online, also per Browser lesbar:
http://www-12.lotus.com/ldd/doc/domino_notes/5.0.1/help5_designer.nsf

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


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:Maske übernehmen
« Antwort #8 am: 02.01.04 - 10:27:17 »
Hi,

erstmal alles gute im neuen Jahr.

Versuch's mal so:

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

  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 Sub

So sollte das funktionieren. Unter Umständen musst du die Feldnamen und/oder den Namen der Ansicht anpassen.

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

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Maske übernehmen
« Antwort #9 am: 02.01.04 - 11:21:11 »
Gib einem Hungernden einen Fisch, und er wird für einen Tag satt....
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Maske übernehmen
« Antwort #10 am: 02.01.04 - 15:34:39 »
@Axel: Dein Vorschlag funktioniert solange, wie nur neue Dokumente angelegt werden. Wird ein vorhandenes Dokument editiert, findet er auf jeden Fall genau dieses Dokument in der Ansicht ...
Also: Dein Code, wenn Source.IsNewDoc = true. Andernfalls muss geprüft werden, ob NotesView.GetAllDocumentsByKey eine NotesDocumentCollection mit mehr als einem Mitglied ergibt.

HTH,
Bernhard

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #11 am: 03.01.04 - 16:44:36 »
Hallo!
Auch heute leider wieder kein Tag wo ich Eure Hilfe nicht brauch.
Und zwar hab ich ich eine Kalkulationsmaske welche ich in meine Ansicht doppelt
abspeichere.
Allerdings ist mein Problem wenn ich es später wieder aufrufe um evtl. Änderungen vorzunehmen
hab ich keine Möglichkeit dazu weil man die Dialoglisten nicht mehr bearbeiten kann.
Hat jemand ne Idee wie man das lösen kann?

Und dann hab ich noch ne kleine Frage am Rande. Und zwar springe ich zwischen den Masken mir dem
@Command([Compose];"";"Kundenerfassung") Befehl. Geht das nur um zwischen Masken zu springen weil
wenn ich von einer Maske zu einer Seite springe will bekomme ich immer die Fehlermedlung
"ungültiges oder nicht vorhandenes Dokument!"
Hat jemand ne Erklärung dafür?

Berhard bei deinem letzten Statement ist die Stelle nicht zu finden mit dem Source.IsNewDoc = true!?

Ich Dank euch schon jetzt wieder.
Gruß

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:Maske übernehmen
« Antwort #12 am: 03.01.04 - 17:35:40 »
@Bernhard

Yoo, hast recht. Hab' ich auf die Schnelle übersehen.  :-\

@TripleH

Bernhard's Statement kannst du auch nicht finden, denn das musst du erst einfügen.

Das könnte ungefähr 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

Zitat
Und zwar hab ich ich eine Kalkulationsmaske welche ich in meine Ansicht doppelt
abspeichere.
??? ??? Entweder ist heut' nich' mein Tag oder ich stehe auf der Leitung. Kannst du mal erklären, was du damit meinst.

Zitat
Allerdings ist mein Problem wenn ich es später wieder aufrufe um evtl. Änderungen vorzunehmen
hab ich keine Möglichkeit dazu weil man die Dialoglisten nicht mehr bearbeiten kann.
Hat jemand ne Idee wie man das lösen kann?

Ähhmm, bist du im Lese- oder Editmodus. Das hört sich stark nach dem Lesemodus an. Wechsle mal in den Editmodus, dann solltest du das Dokument bearbeiten können.

Axel

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

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Maske übernehmen
« Antwort #13 am: 03.01.04 - 17:49:32 »
Hallo!
Auch heute leider wieder kein Tag wo ich Eure Hilfe nicht brauch.
Und zwar hab ich ich eine Kalkulationsmaske welche ich in meine Ansicht doppelt
abspeichere.
Allerdings ist mein Problem wenn ich es später wieder aufrufe um evtl. Änderungen vorzunehmen
hab ich keine Möglichkeit dazu weil man die Dialoglisten nicht mehr bearbeiten kann.
Hat jemand ne Idee wie man das lösen kann?

ich glaube, ich habs mir jetzt 12x durchgelesen und checks einfach net. Bitte erklär das echt nochmal.

Zitat
Und dann hab ich noch ne kleine Frage am Rande. Und zwar springe ich zwischen den Masken mir dem
@Command([Compose];"";"Kundenerfassung") Befehl. Geht das nur um zwischen Masken zu springen weil
wenn ich von einer Maske zu einer Seite springe will bekomme ich immer die Fehlermedlung
"ungültiges oder nicht vorhandenes Dokument!"
Hat jemand ne Erklärung dafür?

@Command([Compose]) erzeugt neue Dokumente mit einer angegebenen Maske (bei dir Kundenerfassung )
um eine Seite zu öffnen, gibts ein anderes @Commad

Syntax
@Command( [OpenPage] ; page )
Parameters
page
Text. The name of a page defined for the current database.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #14 am: 03.01.04 - 18:07:48 »
Doppelposting auch noch:

www.spotlight.de am 03.01.2004 um 16:49:18:

Zitat
Speichern von Masken

Hallo!
Auch heute leider wieder kein Tag wo ich Eure Hilfe nicht brauch.
Und zwar hab ich ich eine Kalkulationsmaske welche ich in meine Ansicht doppelt
abspeichere.
Allerdings ist mein Problem wenn ich es später wieder aufrufe um evtl. Änderungen vorzunehmen
hab ich keine Möglichkeit dazu weil man die Dialoglisten nicht mehr bearbeiten kann.
Hat jemand ne Idee wie man das lösen kann?

Und dann hab ich noch ne kleine Frage am Rande. Und zwar springe ich zwischen den Masken mir dem
@Command([Compose];"";"Kundenerfassung") Befehl. Geht das nur um zwischen Masken zu springen weil
wenn ich von einer Maske zu einer Seite springe will bekomme ich immer die Fehlermedlung
"ungültiges oder nicht vorhandenes Dokument!"
Hat jemand ne Erklärung dafür?
Ich Dank euch schon jetzt wieder.
Gruß

Geschickt von shrug am 03.01.2004 um 16:49:18

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #15 am: 03.01.04 - 20:46:50 »
Hi all;
Ja am besten erklär ichs nochmal hab das wohl nicht geschickt genug erklärt.:)

Ok ich habe eine Kalkulationsmaske in der man diverse Dinge über Dialoglisten aussuchen kann.
In einem Ergebnisfeld wird dann alles zusammengerechnet je nach dem was man ausgewählt hat.
Diese Maske kann man über einen Button abspeichern (wird in der Ansicht "doppelt" gespeichert).
Wenn ich z.B. später in der Maske Kalkulationen ändern möchte ruf ich Sie über die Ansicht doppelt wieder auf.
Allerdings kann ich jetzt nichts mehr in der Maske Kalkulation machen(also das vorher in den Dialoglisten gewählte kann man nicht mehr ändern).
Und ich würde diese Maske gern nochmal ändern dann nachdem sie irgendwann gespeichert wurde und ich sie dann wieder aufruf.
Oh ich hoff ich habs nen bißchen besser gemacht.
Gruß

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #16 am: 03.01.04 - 21:43:08 »
Nochmal zu Deinem Doppelposting:
Es wird vielfach im Internet als unverschämt angesehen, wenn in verschiedenen Foren sehr zeitnah doppelt gepostet wird (also wie bei Dir 5 Minuten Unterschied).
Das mindeste was zu erwarten wäre, ist jeweils der Hinweis mit Link, wo noch gepostet wurde.

Doppelposting generell erst nach einiger Zeit, nachdem z.B. im Forum 1 keiner helfen konnte nach mehreren Tagen ! Und eben dann Link-Hinweis.

Ich kenne jetzt nicht die Board-Rules von atnotes.de, aber da steht das bestimmt auch so ähnlich drin, also bitte zukünftig beachten.

Zitat
Ok ich habe eine Kalkulationsmaske in der man diverse Dinge über Dialoglisten aussuchen kann.
In einem Ergebnisfeld wird dann alles zusammengerechnet je nach dem was man ausgewählt hat.
Soweit klar.

Zitat
Diese Maske kann man über einen Button abspeichern (wird in der Ansicht "doppelt" gespeichert).
In einer Ansicht kann nichts gespeichert werden. Schau Dir hierzu erneut nochmal folgenden Text an: http://www.nsftools.com/misc/WhatIsNotes.htm

Du hast höchstens in Deiner Ansicht namens "doppelt" in der Ansichtsauswahl eine Formel à la SELECT Form = "DeineMaske". Dadurch erscheinen dann die gespeicherten Doks u.a. dort.

Zitat
Wenn ich z.B. später in der Maske Kalkulationen ändern möchte ruf ich Sie über die Ansicht doppelt wieder auf.
Eine Maske kannst Du nicht aufrufen aus einer Ansicht, nur ein Dokument, aber ich verstehe was Du meinst: Du ruft das Dokument aus der Ansicht auf. In dem Dokument steht im Feld FORM "Kalkulationen", daher öffnet sich das Dok in der Maske "Kalkulationen".

Zitat
Allerdings kann ich jetzt nichts mehr in der Maske Kalkulation machen(also das vorher in den Dialoglisten gewählte kann man nicht mehr ändern).
Und ich würde diese Maske gern nochmal ändern dann nachdem sie irgendwann gespeichert wurde und ich sie dann wieder aufruf.
Oh ich hoff ich habs nen bißchen besser gemacht.

Ich gehe mal davon aus Du hast nichts in den Events der Maske drin (Postopen, Querysave etc.)?
Du kannst das Dokument ansonsten per Doppelklick vom Lesemodus (der Default ist beim öffnen eines Dokuments) in den Bearbeitungsmodus versetzen, alternativ gibt es auch einen Menübefehl afaik, "Dok bearbeiten" oder so.
Weiter kannst Du auch einen @Command([EditDocument]) verwenden.

Schau Dir mal folgende DB im Designer an:
http://www.atnotes.de/attachments/POP3-SMTP.ZIP

Die hatte ich mal schnell zusammengeschustert, aber dort sind die wesentlichen Dinge (Dok speichern, wieder öffnen, bearbeiten etc.) gut ersichtlich.

TMC
« Letzte Änderung: 03.01.04 - 21:54:58 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #17 am: 04.01.04 - 01:49:17 »
Hi!
Danke TMC!
Deine Vorlage hat mir viel gebracht man lernt halt immer am besten von Beispielen.
Allerdings hab ich noch soo spät ne kleine Frage. Und zwar speicher ich ja die Kalkulations maske.
Anhand meiner Querysave abfrage schau ich ob dieses Dokument mit meinem key schon vergeben ist.
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
   
   Set doc = Source.Document
   Set db = session.CurrentDatabase
   Set view = db.GetView( "doppelt" )  'Verweis auf Ansicht
   
   strKey = doc.name(0) & ", " & doc.vorname(0) & "               " & doc.wagen(0) 'Suchstring zusammensetzen
   
   Set docLookup = view.GetDocumentByKey( strKey, True )
   If Not (docLookup Is Nothing) Then
      Messagebox "Ein Kunde mit diesem Namen ist mit diesem wagen bereits vorhanden!"
      Continue = False  'Speichern verhindern
   End If
   
End Sub


Gibt es eine Möglichkeit das Dokumente die ich aufrufe nicht neu abspeichere sondern wenn ich mein Dokument ändere das das aufgerufene dann einfach überschrieben wird?
Besten Dank an euch.
TMC deinen Ratschlag nehme ich mir zu Herzen.
Gerusame Nacht

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:Maske übernehmen
« Antwort #18 am: 04.01.04 - 11:22:46 »
Gibt es eine Möglichkeit das Dokumente die ich aufrufe nicht neu abspeichere sondern wenn ich mein Dokument ändere das das aufgerufene dann einfach überschrieben wird?
Besten Dank an euch.
TMC deinen Ratschlag nehme ich mir zu Herzen.
Gerusame Nacht

Hi,

wenn du ein bestehendes Dokument aufrufst, etwas änderst und dann speicherst, wird kein neues Dokument angelegt, sondern das bestehende geändert. Das ist aber in jedem Programm so.

In deinem QuerySave-Event ist noch ein kleiner Fehler. Siehe mein obiges Posting vom 03.01.04 17:35.

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

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #19 am: 04.01.04 - 18:29:19 »
Hi,
Dank die Axel hab alles supi hinbekommen bis jetzt. Hab nur noch mal ne Frage zum Querysave Code. Der ja zur Zeit so aussieht:

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

Allerdings will ich noch ne Abfrage einbauen wenn das Dokument nicht neu ist(also ich ein bestehendes aufrufen und es verändern) das er dort nicht die Abfrage macht ob der Name (also der key) schon vorhanden ist sondern einfach ja dann überspeichert.
Müsste es dann 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 = false Then (beende die Abrfrage?)
  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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz