collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 61
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 2

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13632
  • stats Beiträge insgesamt: 61212
  • stats Themen insgesamt: 8356
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Text auf LW C schreiben  (Gelesen 164 mal)

Offline PeterWa

  • Newbie
  • Beiträge: 5
Text auf LW C schreiben
« am: August 08, 2017, 14:42:20 »
Hallo!
Ich möchte unter Windows 10, Access 2016, auf LW C: ein Textfile anlegen. Bekomme aber die Meldung "Kein Zugriff auf Datei/Pfad". Die Berechtigungen sind alle erteilt.
Sollte wer einen Tipp haben wie man es per VBA lösen könnte dann besten dank im voraus

mfg
Peter
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22911
Re: Text auf LW C schreiben
« Antwort #1 am: August 08, 2017, 14:47:59 »
Hallo,


ist "C:\"  bei den  "vertrauenswürdigen Speicherorten" mit aufgenommen?

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6624
Re: Text auf LW C schreiben
« Antwort #2 am: August 08, 2017, 14:49:11 »
Hallo,
und warum zeigst Du nicht den Code der zum Fehler führt ?

Gruß
Klaus
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 207
    • Tipps zu Access, VBA, SQL und Co.
Re: Text auf LW C schreiben
« Antwort #3 am: August 08, 2017, 18:15:47 »
Ich möchte unter Windows 10, Access 2016, auf LW C: ein Textfile anlegen. Bekomme aber die Meldung "Kein Zugriff auf Datei/Pfad". Die Berechtigungen sind alle erteilt.
Die Berechtigungen solltest du nochmal genau Prüfen. Normalerweise hat ein normaler Benutzer auf Root-Verzeichnis des Systemlaufwerkes explizit keine Schreibrechte.
Kannst du mit Notepad o.ä. dort speichern?

Offline PeterWa

  • Newbie
  • Beiträge: 5
Re: Text auf LW C schreiben
« Antwort #4 am: August 09, 2017, 11:57:32 »
Hallo!
Das Problem ist, wenn ich das File in das Temp-Verzeichnis schreibe "FSO.GetSpecialFolder(TemporaryFolder)" dann klappt ja alle. Wenn ich mit einen Ooptimierungstool über die Festplatte gehe werden alle Dateien im Tem-Verzeichniss gelöscht. Ich habe versucht wenn ich die Datei mit Attrib Verstecke. Aber Sie wurde auch dann gelöscht. Bei Windows7 gab es das Problem nicht. Windows 10 ist eben anders. wenn ich mit einen Editor dort speichern will Kommt die Meldung:"Sie vverfügen nicht über die Rechte“ Wenn ich eine Datei mit STRG-V Speichern will, kommt die Meldung "Sie haben keine Rechte" "Fortsetzten" "Überspringen" "Abbruch".  Bei Fortsetzen wird kopieert.


If BASDialog.fnFileExist(FSO.GetSpecialFolder(WindowsFolder) & "\SysDat.dat") = False Then
   FileNum = FreeFile
   Open FSO.GetSpecialFolder(WindowsFolder) & "\SysDat.dat" For Output As #FileNum
   Print #FileNum, datDatum
   Close #FileNum

mfg
Peter
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 154
Re: Text auf LW C schreiben
« Antwort #5 am: August 09, 2017, 16:13:36 »
Open for Output.

Was könnte das bedeuten ???
10 Jahre Access
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22911
Re: Text auf LW C schreiben
« Antwort #6 am: August 09, 2017, 16:46:20 »
Hallo,


Vorschlag:
(Sofern als Administrator angemeldet)

Laufwerk c:\ mit Explorer anzeigen.  Rechtklick für Kontextmenü und Reiter "Sicherheit" anklicken.  Mit Markieren des jeweiligen Benutzernamens und  "Bearbeiten" alle Rechte ("Vollzugriff") einstellen. Mit OK abschließen. 


Vorherigen Beitrag bzgl. "Vertrauenswürdigen Speicherorte"  zur Kenntnis nehmen.



Offline PeterWa

  • Newbie
  • Beiträge: 5
Re: Text auf LW C schreiben
« Antwort #7 am: August 10, 2017, 07:52:10 »
Hallo!
Das alles wurde schon gemacht. Der Schreibschutz lässt sich nicht entfernen. Mir wurde gesagt das das ein Problem von Windows 10 ist.

mfg
Peter
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22911
Re: Text auf LW C schreiben
« Antwort #8 am: August 10, 2017, 09:10:08 »
Hallo,


das ist kein Problem von Windows 10, sondern eine gewollte Eigenschaft bei Win10, standardmäßig  nicht auf das Root-Verzeichnis (Normalfall C:\ ) des Betriebssystems schreiben zu dürfen.

Dass sich der Schreibschutz nicht entfernen läßt, ist schlichtweg falsch.  Ich habe das schon mehr als einmal durchgeführt.

Dazu ist die Anmeldung als Administrator erforderlich.

Evtl. ist noch der Befehl
icacls c:\ /setintegritylevel M
auszuführen.

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 207
    • Tipps zu Access, VBA, SQL und Co.
Re: Text auf LW C schreiben
« Antwort #9 am: August 10, 2017, 10:50:17 »
Das Problem ist, wenn ich das File in das Temp-Verzeichnis schreibe "FSO.GetSpecialFolder(TemporaryFolder)" dann klappt ja alle.
Dein Problem scheint mir nicht technischer, sondern konzeptioneller Natur zu sein.

Dass Dateien im Temp-Verzeichnis gelöscht werden, sollte nicht die große Überraschung sein. Ebenso hat es durchaus seinen Sinn, dass nicht irgendwelche Applikationen das Root-Verzeichnis des Systemlaufwerks vollmüllen können.

Es gibt eine Menge an speziellen, vordefinierten Verzeichnissen.
Hier eine Liste: https://msdn.microsoft.com/en-us/library/s2esdf4x(v=vs.100).aspx
Die Verzeichnisse mit "Data" im Namen dürften für deinen Zweck am besten geeignet sein.

Also such dir besser einfach ein sinnvolles Verzeichnis aus, als mit aller Gewalt unbedingt auf das C-Root zu schreiben zu wollen.

Offline PeterWa

  • Newbie
  • Beiträge: 5
Re: Text auf LW C schreiben
« Antwort #10 am: August 10, 2017, 13:38:19 »
Hallo!
Erst einmal besten dank für diesen Tipp!
Ich habe jetzt aber ein Problem mit der Realisierung!

Ich gehe davon aus das "Common Application Data Folder" in
" FSO.GetSpecialFolder(TemporaryFolder)"
eingetragen wird.  Anstedt zB "TemporaryFolder".

Oder liege ich hier komplett falsch?

mfg
 Peter

 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 207
    • Tipps zu Access, VBA, SQL und Co.
Re: Text auf LW C schreiben
« Antwort #11 am: August 10, 2017, 13:57:41 »
Ich gehe davon aus das "Common Application Data Folder" in
" FSO.GetSpecialFolder(TemporaryFolder)"
eingetragen wird.  Anstedt zB "TemporaryFolder".
Das wäre naheliegend, funktioniert aber nicht. Leider ist die GetSpecialFolder-Methode des FileSystemObject sehr eingeschränkt und dadurch nahezu nutzlos.

Du kannst mit der Environ-Funktion den echten Pfad einer Variable ermitteln und diesen Pfad dann an die normale GetFolder-Methode des FileSystemObjects übergeben.

Beispiel:
     Set myFolder = fso.GetFolder(Environ("ProgramData"))

Hier ist noch eine Liste der (System-)Variablennamen für gängige Verzeichnisse.
https://www.microsoft.com/en-us/wdsi/help/folder-variables