Document aufrufen

  • ok! Habe jetzt überall, wo ich doc.GetItemValue verwende (0) dahinter geschrieben.



    Leider bekomme ich immer noch die Fehlermeldung:
    Object variable not set.


    Warum muss man den die (0) dahinter schreiben, was bewirkt das?


    Gruß Jan

  • Weil .getItemValue ein Array zurueckliefert und Du mitteilen musst, welches Element aus dieser Liste Du haben moechtest.
    Schalte doch mal bitte den Debugger ein - den Du hoffentlich hast - und schau Dir das Ganze Schritt fuer Schritt mal an wo der Fehler auftaucht.
    Dafuer ist ein Debugger eigentlich da.
    Der Fehler hoert sich naemlich nicht nach einem Fehler wegen der fehlenden (0) an, sondern eher nach etwas anderem. Wird das Object Doc ueberhaupt erzeugt???

  • Es heißt


    WHILE Bedingung


    Für die Bedingung hast du dir den Vergleich mit einem Festwert ausgesucht <> ""


    Vergleichen kannst du aber nur Seiendes miteinander (einige Ausnahmen wie IS NOTHING oder IS EMPTY legen beredtes Zeugnis dafür ab, daß diese Sonderfälle besonders behandelt werden müssen.


    Gehen wir einmal davon aus, daß "" etwas Seiendes ist (selbst wenn es das Seiende des Nichts, also des leeren Strings). Sei versichert, das ist so.


    Wo könnte dann etwas "Nicht Seiendes" sein, auf das die Fehlermeldung "Object variable not set" gemeinhin hinweist.


    Es wird höchstwahrscheinlich etwas mit dem GETITEMVALUE zu tun haben.


    Es gibt in mindestens einem der zu untersuchenden Dokumente (wenn es nicht das schon nicht gibt) nicht das Feld mit dem Namen SERVER_1. Und spätestens, wenn die WHILE-Schleife dort angelangt ist, kommt die jedem vertraute Fehlermeldung hoch.


    Abtreten, Weiterbasteln.

  • Gute Frage, wo schalte ich den denn ein? :roll:


    Hier mal der komplette Code der Function:


    Gruß Jan

  • Was soll´s! Dann wirst Du damit auch hoechstwahrscheinlich nicht umgehen koennen. Gibt es bei Dir in der Firma eigentlich keine Schulungen fuer Programmierer oder machst Du das freizeitmaessig??
    Aber wie gesagt, was soll´s. Du schaltest den Debugger unter File-> Tools-> Debug LotusScript ein.
    *Ich sehe schon die naechsten Fragen

  • Hallo, also im das Feld wird vorher so gefüllt:


    unid = settings_doc.UniversalID
    uidoc.FieldSetText "docID", unid



    @ LN4ever:
    Diese funktion funzte vorher schon, nur da hieß es halt nicht doc.getitemvalue sondern uidoc.FieldGetText. Die Funktion war woanders verbaut und ich will diese jetzt für mich umstricken.


    Ich glaube das könnte, so wie taurec sagt, etwas mit dem ID-Feld zu tun haben.


    Also laut Debugger meckert er an der ersten Zeile der While-Schleife!

    Code
    While doc.GetItemValue( "Server_" + Cstr( num% ) ) (0) <> ""



    Gruß Jan

  • Nach dem wie das Feld gefüllt könnte es nicht nur sondern hat auf jeden Fall damit etwas zu tun.


    Was bei deinem Script auf jeden Fall noch fehlt ist ne Überprüfung ob überhaupt ein Dokument gefunden wurde.


    Denn wenn das Dokument auf das die ID verweist gelöscht wurde fällt dein Script genauso auf die Nase.


    Ansonsten muss ich in gewisser Weise dnotes zustimmen:
    Die fehlen die Grundlagen.


    Wir sind hier gerne bereit bei spezifischen Fragen zu helfen, aber eine Einführung in die Programmierung unter Notes können wir dir hier nicht geben.
    Dafür gibt es dann entweder Schulungen oder eben die Beauftragung eines Dienstleisters der euch die Grundlagen beibringt.


    Und hierfür wirst du auch hier im Forum ne Menge Leute finden, die das gerne anbieten

  • Jetzt hab ichs hinbekommen!


    Es lag tatsächlich an dem ID Feld, ich frage jetzt einfach nach der UNID ab, weil mit der füll ichs ja auch ;)


    Code
    Set doc = dbCurrent.GetDocumentByUNID (docID)



    Vielen Dank für eure Bemühungen und die Hilfe!


    Gruß Jan

  • "Vergelt's Gott" saget der Bayer in solchem Falle. Die modernen Menschen rufen sich ein saloppes "Wir hören voneinander" zu.


    Und irgendwie hat man doch das mulmige Gefühl, daß dort jemand sich mit Sandalen ins Hochgebirge aufmacht.

  • Irgendwann wird's "klack" machen und dann kennt er den Unterschied... Ich hatte mich am Anfang auch recht schwer getan zu entscheiden wann Backend und wann Frontend und mittlerweile mach ich fast nur noch backend-Zugriffe (weil leichter und klarer ;)).


    Aber wenn man die Klassen alle mal im Kopf hat, dann ist Notesprogrammierung eigentlich nur noch Schreibarbeit.



    In diesem Sinne ein schönes Wochenende