Autor Thema: Datenbank öffnen im InViewEdit?  (Gelesen 2954 mal)

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Datenbank öffnen im InViewEdit?
« am: 13.05.05 - 11:44:13 »
Hallo,

User erhalten von uns per Mail einen Link zu einem Dokument in einer Datenbank.
Dieses Dokument öffnen Sie dann, und sehen unter anderem eine eingebettete Ansicht.
Dort habe ich im InViewEdit einen Code eingebaut der auf die aktuelle DB zugreift:
set db = ws.currentdatabase.database

Jetzt bekomme ich natürlich einen Fehler wenn die DB nicht offen ist!
1. Wie kann ich das Abfragen ob die DB im Workspace schon offen ist? Wenn ja,
2. Das öffnen einer DB im WS ist kein Problem, aber wenn ich Sie öffne, das er dann auf das geöffnete Dokument zurückspringt, wie geht das bzw. geht das überhaupt?

Danke für eure Hilfe im vorhinein!
Mfg Horst
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datenbank öffnen im InViewEdit?
« Antwort #1 am: 13.05.05 - 12:51:15 »
"Fehlermeldung wenn die Datenbank nicht offen ist":

Was für eine Fehlermeldung ?

In dem Moment wo Du eine Maske / Ansicht / Rahmengruppe / irgendwas aus einer Datenbank offen hast, ist auch die Datenbank an sich "offen".

Also sag uns bitte, welche Fehlermeldung exakt erscheint, an welcher Stelle sie erscheint (debugger), und wie die betreffenden Variablen gefüllt sind. Dann können wir Dir vielleicht auch helfen...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Datenbank öffnen im InViewEdit?
« Antwort #2 am: 13.05.05 - 12:57:12 »
Der Code lautet:

Sub Inviewedit(Source As Notesuiview, Requesttype As Integer, Colprogname As Variant, Columnvalue As Variant, Continue As Variant)
   On Error Goto Errorhaendler
   
   
   Const QUERY_REQUEST = 1       ' used when the user enters the editable column
   Const VALIDATE_REQUEST = 2     ' used when the user exits the editable column
   Const SAVE_REQUEST = 3      ' saves after validation for an existing view entry
   Const NEWENTRY_REQUEST = 4   ' after validation when the user makes a new entry in a view
   
  ' Editable columns
   fieldName(0) = "work_plan_device_percent"
   fieldName(1) = "work_plan_setup_time"
   fieldName(2) = "device_piece"   
   fieldName(3) = "work_plan_time_piece"
   fieldName(4) = "work_plan_follow_nr"
   
   Dim ws As NotesUIWorkspace
   Dim note As NotesDocument
   Dim db As NotesDatabase
   Dim i As Integer
   
   Set db = ws.CurrentDatabase.Database
   If (Source.CaretNoteID = "0") Then   Exit Sub
.............
Beim Fett angezeigte Codeabschnitt kommt die Meldung Objekt Variable not Set.
Code steht im InViewEditMode!

Sorry, das ich das nicht gepostet habe!
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datenbank öffnen im InViewEdit?
« Antwort #3 am: 13.05.05 - 12:59:38 »
und hier ist der Fehler:

Dim ws As NotesUIWorkspace

muss heissen

Dim ws As New NotesUIWorkspace


sonst ist nämlich die Object Variable "ws" not set.

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

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: Datenbank öffnen im InViewEdit?
« Antwort #4 am: 13.05.05 - 13:00:21 »
Hi,

du hast zwar die Variable ws deklariert, aber nicht instanziiert. Daher die Fehlermeldung.


Dim ws As New NotesUIWorkspace
   Dim note As NotesDocument
   Dim db As NotesDatabase
   Dim i As Integer
  
   Set db = ws.CurrentDatabase.Database
   If (Source.CaretNoteID = "0") Then   Exit Sub
...

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

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Datenbank öffnen im InViewEdit?
« Antwort #5 am: 13.05.05 - 13:06:19 »
Das habe ich schon mal probiert, hat aber tortzdem nicht funktioniert.

Es kommt die gleiche Fehlermeldung erneut!

Der Fehler tritt auf wenn ich direkt in der eingebetteten Ansicht - in einer Spalte, einen Wert verändern möchte. Zur Info, die DB ist nicht in der Arbeitsumgebung geöffnet, das Dokument selbst wird über ein Link im Mail geöffnet!
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re: Datenbank öffnen im InViewEdit?
« Antwort #6 am: 13.05.05 - 13:16:45 »
Hallo,

ob die Datenbank geöffnet ist kann man mit der Property .IsOpen prüfen. Wenn nicht, dann kann diese mit der Methode .Open geöffnet werden.

Viele Grüße
ghost

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: Datenbank öffnen im InViewEdit?
« Antwort #7 am: 13.05.05 - 13:19:42 »
Hi,

probier's mal über die NotesSession an das Handle der Datenbank ranzukommmen.

Dim session As New NotesSession

Set db = session.CurrentDatabase


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

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datenbank öffnen im InViewEdit?
« Antwort #8 am: 13.05.05 - 13:23:55 »
Wenn die Datenbank nicht offen wäre käme die Fehlermeldung "Database has not been opened yet". Diese Meldung kann aber (imho) in diesem Zusammenhang gar nicht kommen, weil der User die Datenbank ja schon offen hat (wenn auch nur "implizit" über ein Dokument aus der Datenbank).

Die Meldung "Object Vairable not set" sagt aber, dass ein Objekt nicht initialisiert ist.

und in der angegebenen Zeile können das nur drei "verdächtige" sein:

-1-
ws selbst: der ist instantiiert, wenn mit Set ws = New NotesUIWorkspace gestartet.

-2-
ws.CurrentDatabase: Wenn man die Designer- Hilfe richtig liest, dann liegt hier die grösste Wahrscheinlichkeit für den Fehler, denn offensichtlich kann diese Property unter bestimmten Umständen (z.B. wenn instantiiert durch eine Ansicht) leer sein.
Versuch mal folgendes:

Set db = ws.GetCurrentDatabase.Database

-3- ws.CurrentDatabase.Database
Wenn es ein UIDatabase- Objekt gibt, dann hat dieses auch IMMER (soviel ich weiss) eine Database- Property, dieser Punkt fällt also auch als Fehlerursache weg...

HTH
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Datenbank öffnen im InViewEdit?
« Antwort #9 am: 13.05.05 - 15:12:46 »
Alternativ könntest Du auch über die Source gehen
...
dim view as notesview
...
set view = source.view
set db = view.parent

gruss
umi
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Datenbank öffnen im InViewEdit?
« Antwort #10 am: 17.05.05 - 08:14:37 »
-2-
ws.CurrentDatabase: Wenn man die Designer- Hilfe richtig liest, dann liegt hier die grösste Wahrscheinlichkeit für den Fehler, denn offensichtlich kann diese Property unter bestimmten Umständen (z.B. wenn instantiiert durch eine Ansicht) leer sein.
Versuch mal folgendes:

Set db = ws.GetCurrentDatabase.Database
HTH
Tode

Hallo Tode,

genau das wars, jetzt ist das eintragen bei "nicht im Arbeitsbereich geöffneter DB" möglich.
Vielen, vielen Dank!

Mfg Horst
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz