Domino 9 und frühere Versionen > Entwicklung

Daten einer Ansicht mittels InputBox selektieren

(1/4) > >>

aasterix:
Hallo,

ich habe folgendes Problem, ich möchte nicht alle Daten einer Ansicht darstellen, sondern nur die Daten die einem bestimmten Kriterium, das vorher in eine Inputbox eingegeben werden soll, anzeigt.

z. B. sollen nur Datensätze mit einem bestimmten Datum angezeigt werden.

Da ich Anfänger bin, hab ich mit LotuxScript noch Probleme, und komme bisher nur soweit:


Sub Click(Source As Navigator)
Dim Datum As Variant
Datum = (Inputbox$("Bitte Datum eingeben!"))
End Sub

Wie kann ich jetzt die Ansicht öffnen und nach dem Feld "Datum" selektieren?

Kann mir diesbezüglich jemand weiterhelfen ?

Vielen Dank im voraus!
 :)

Gruß,
Markus

Axel:
Hi,

Notes kann keine dynamischen Ansichten. Das heißt, du kannst keine Parameter an ein Ansicht übergeben.

Das einzigste was Notes an "dynamischen" Ansichten bietet sind die eingebetteten Ansichten mit der Option "Einzelne Kategorie anzeigen".

Schau mal hier: http://www.atnotes.de/index.php?board=7;action=display;threadid=4396

Hier hab ich eine Demo-DB zum Thema Eingebettete Ansichten angehängt, ausserdem hat ata einen Link dazu gepostet.

Axel
 

Rob Green:
Du wirst das am besten mit folgendem Beispiel aus der Designer Help lösen können, wobei die Trefferdocs in einen Ordner geschoben werden, da eine Ansicht im Notes eine etwas starre Angelegenheit ist, weil man das Select Statement nicht dynamisieren kann.

verwendete Klassen Notesdatetime und Notesdocumentcollection:

Sub Initialize
  Dim db As New NotesDatabase("","reminder.nsf")
  Dim collection As NotesDocumentCollection
  Dim doc As NotesDocument
  Dim dateTime As New NotesDateTime("12/01/94")
  Dim nextDateTime As NotesDateTime    
  searchFormula$ = "Form = ""Project"" _
                & ReminderDate = @Today"
  Set collection = db.Search(searchFormula$,dateTime,0)    
  ' Create a date that's one week from today.
  ' That's when the project participants
  ' get their next reminder.
  Set nextDateTime = New NotesDateTime("Today")
  Call nextDateTime.AdjustDay(7)
  ' For each document with reminder date today,
  ' send document to project participants
  ' Then update the ReminderDate field
  ' with a date one week from today.
  For i = 1 To collection.Count
    Set doc = collection.GetNthDocument(i)
    Call doc.Send( True )
    Call doc.ReplaceItemValue("ReminderDate",  _
                  nextDateTime.LSLocalTime )
    Call doc.Save( True, False )
  Next
End Sub

Den letzten Part ab Set nextdate... rausnehmen und ersetzen durch:
Call collection.PutAllInFolder( "Persönliche_OrdnerABC_des_USers" )

AChtung: ist der persönliche Ordner nicht vorhanden, läuft das Script in einen Fehler. Das kann man verhindern, indem man den pers. Ordner vorher anlegt. Suche bitte dazu einen Beitrag über Forumsuche raus, den ATA geschrieben hat (Stichwort evtl: Ordner, persönlich...)

aasterix:
Hallo,

erstmal vielen Dank für euere schnelle Hilfe, aber ich glaub ich hab mein Problem doch etwas falsch dargestellt.

Jetzt nochmal das genaue Problem, bzw. das was ich haben will.

Ich habe eine Datenbank mit Terminen, dann gibt es eine Maske mit einer eingebetteten Ansicht, diese Maske dient als Ausdruck (das ganze muß ein Formular sein). Nun will ich auf diesem Formular nur die Termine angezeigt bekommen (pro Tag), die vorher irgendwie z. B. durch Eingabe eines Datums in eine InputBox gewählt wurden.

Gruß,
Markus

klaussal:
hallo aasterix,
ich würde ein rich-text-feld in der maske nehmen und darin die werte anzeigen (berechnung per lotus-script).
ist vielleicht nur ein denkansatz... ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln