4 Ausgaben über den uiworkspace

  • Hallo Leute,


    Ich hab da ein Problem mit ner ausgabe...
    die idee ist wie folgt
    ich öffne mittels des uiws einen dialog...dort werden die Krieterien ausgesucht
    anhand dieser kriterien wird ein notedoc erstellt und im edit mode aufgerufen...soweit alles ok
    jetzt brauchen meine user aber noch dringend arbeitsfiles da dieses bereits erstellte dokument nur zur veröffentlichung ist also erstelle ich noch 2 excel tabellen (xls ist am optimalsten für die bearbeitung)
    dummerweise bekomme ich beim open for output bereits die meldung File already open...
    ich denke das das was mit dem uiworkspace zu tun hat, bin aber ehrlich gesagt übertfragt
    habe den Quelltext angehängt


    Vielen Dank schonmal im Vorraus :)

  • Wie kommst du darauf, daß das mit dem UIWorkspace zusammenhängt ?


    Ist das Excelfile denn z.B. in Excel noch geöffnet ?


    Mal davon abgesehen, daß du mit Open nicht ein Excelfile öffnest sondern ein beliebiges File und das dann binär bzw als Text behandelst.

  • hi taurec,


    ja ich öffne kein excelfile das ist klar ...blöde von mir ausgedrückt..sry..ist schon richtig mit der binärfile...die funkion an sich habe ich mir per copy&paste geholt...
    die dateien existieren noch gar niocht sollen und werden von dem agenten erst erstellt...auf den uiworkspace bin ich gekommen..da die funktion ohne dialog aufruf vorher einwandfrei funktioniert..
    wie gesagt es ist nur ne vermutung...kann das auch nicht begründen, denke einfach das das was mit dem dialog aufrufen zu tuen haben könnte

  • Und wo und wie werden die Exceldateien erstellt ?


    Das konnte ich in dem Code nicht finden.


    Vermutlich liegt es ja daran wie sie erstellt werden bzw daß sie da nicht richtig wieder geschlossen werden

  • erstellt werden beide dateien in der function vorbereitung
    gefüllt in der function ausgabe
    und geschlossen im initialize


    laufwerk H: hat jeder user zugemappt


    edit: das clse soll sich durch die auswahl auch bedingen, dh. wenn ich nicht falsch liege speichert er nicht wenn ich das close nicht ausführe

  • In der Funktion machst du doch nur ein Open.
    Existiert die Datei da schon und ist sie zu dem Zeitpunkt auch von keinem anderen geöffnet bzw hat der User überhaupt Schreibrechte darauf ?

  • an den zugriff habe ich auch schon gedacht konnte ihn aber bis jetzt ausschliessen


    die datei existiert nicht und ist daher nicht geöffnet..wird erst mittels diesen agentens erstellt


    jeder user hat nen eigenes laufwerk H (als homelaufwerk (automatisch beim anmelden in der domäne)) mit vollen zugriffsrechten

  • Bist du sicher, daß die Datei nicht existiert ?


    Ich hatte ähnliche Meldungen, wenn solche Scripts auf Fehler gelaufen sind und damit die Datei nicht geschlossen haben.
    Vor allem wenn diese auf Netzlaufwerken liegen kann es passieren, daß da noch Handles drauf sind, obwohl auf dem Client alles geschlossen ist.


    Teste doch mal ob das auch passiert wenn du die Dateien lokal erstellst

  • ja bin mir sicher das die noch nicht existiert...leider..das würde das so schön erklären
    hab gerade mal versucht die datei lokal zu erstellen..bekomme an der gleichen stelle den selben fehler...
    an zugriffsrechten kann das nicht liegen, habe komplett admin zugriff auf jedeslaufwerk....
    ehrlich ich verstehe es nicht woran das liegt...

  • ja ich werde mir da ne neue funktion einfallen lassen müsssen..sprich beide sachen trennen
    vielen dank für die hilfe..die db kann ich leider wegen datenschutz nicht rausgeben...wirst du sicherlich verstehen ...nochmals vielen vielen dank für die schnelle hilfe und ich wünsche dir und allen mitgliedern des forums ein schönes frühlings wochenende

  • guten morgen


    hab das problem gelöst..scheint doch etwas mit dem uiws zu tun zu haben..habe jetzt den kompleten dialog aufruf in ne unterfunktion gepackt und übergebe mir die werte in glabals...fertig passt und sieht schick aus....
    ###########
    Function dial(db)
    Dim ws As New notesuiworkspace
    Set newdoc = db.createdocument
    newdoc.form = "dlgBCGeschlecht"
    newdoc.bcjahr = Cstr(Cint(Year(Today)) -1)
    ret = WS.DialogBox( "dlgBCGeschlecht", True, True, False , False , False, False, "nach Alter und Geschlecht", newdoc, False, False)
    If ret = False Then Exit Function
    bcjahr = newdoc.bcjahr(0)
    gesch = newdoc.geschlecht(0)
    If Cstr(bcjahr) = "" Or Cstr(gesch) = "" Then
    Msgbox "Keine Auswahlkriterien eingegeben"
    Exit Function
    End If
    End Function
    edit:
    hab vergessen zu sagen es ist wichtig das die freefiles nacheinander gestzt und geöffnet werden also erst freefile1 dann öffenen
    dann freefile2 und öffnen
    #########
    fileNum1% = Freefile()
    Dateiname = "H:\HW_"& bcjahr &"_" & Format(Today,"yyyymmdd") &".xls"

    Dateiname2 = "H:\S_"& bcjahr &"_" & Format(Today,"yyyymmdd") &".xls"
    Open Dateiname For Output As fileNum1%
    fileNum2% = Freefile()
    Open Dateiname2 For Output As fileNum2%