Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Shell Befehlt funktioniert nicht mehr nach Umstieg auf ACCESS 2016

Begonnen von sonja, Januar 20, 2018, 19:14:15

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

meiner Meinung nach erlauben die Sicherheitseinstellungen von Access es nicht, Dateien über das Netzwerk auszuführen. Ich empfehle, das nochmal und vollständig unter  Access-Optionen/Sicherheitscenter  zu überprüfen.

Handelt es sich nun um A2010 oder A2016?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Frithjiof

Hallo.
Also ich tendiere dazu Franz, dem Mann vom Bodensee, zustimmen.

Wie könnte das Problem eingegrenzt  werden?
1.   Das Programm ,,edi4all.exe" auf ein Lokales Laufwerk in einen lokalen Ordner verschieben und testen ob es von dort aus geht.
2.   Ein anders Programm z.B. Notepad.exe in das Problemlaufwerk kopieren und schauen ob es von Access aus gestartet werden kann.

Da ich das Programm ,,edi4all.exe"nicht kenne habe ich mal gegoogelt und folgendes PDF gefunden:
www.edi4all.de/Leitfaden.pdf (siehe Seite 3)


Frithjof

sonja

Es handelt sich um ACESS 2016. Entschuldigung!
Ich habe die sicherheitseinstellungen wieder und wieder geprüft.
Folgender Befehl funktioniert ja auch:

call shell ("C:\Program Files (x86)\Microsoft Office\root\Office16\winword.exe S:\newsletter-online.docx")

Ich hatte ja auch schon das gesamte edi4all Programm von C: ausgeführt. Ohne Erfolg

Ich starte auch andere Anwendungen aus VBA, die auf S: liegen.

Mittlerweile bin ich verzweifelt  :(

DF6GL

Hallo,

ZitatIch hatte ja auch schon das gesamte edi4all Programm von C: ausgeführt. Ohne Erfolg

Das ist aber jetzt neu... ??

Ansonsten liegt WinWord.exe in einem lokalen Verzeichnis, nicht im Netzwerk....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

sonja

ZitatDas ist aber jetzt neu... ??
s. #12 und #13

hier ein Beispiel für einen Programmaufgruf auf S. der funktioniert
ChDrive "S"
ChDir "S:\Datenbank\WWSSchnittstelleSEKO"
Shell ("DatenbankanbindungSEKO.exe " & EAN)


Ich hatte auch bei edi4all die Variante mir vorherigem Laufwerks- und Verzeichniswechsel probiert - ohne Erfolg

Frank77

Hallo hab auch 2016 bei mir geht es so

https://www.myonlinetraininghub.com/vba-shell
call shell ("""C:\Program Files (x86)\Microsoft Office\Office16\winword.exe"" ""C:\Users\Papa\Desktop\Microsoft Word-Dokument (neu) (2).docx""")

Gruß Frank
Selbstständig = Selbst und Ständig

sonja

Hallo Frank,

das ändert auch nichts .. Danke für den Hinweis.

lg
sonja

sonja

Ich habe das Problem gelöst:

Die neue Access Version ruft das Programm über einen relativen Pfad aus anstatt mit dem Laufwerksbuchstaben
Ich übergabe in VBA den Pfad "S:/....", ACCESS macht daraus "//nas/ ..."
Ich habe allerdings nicht herausgefunden, wie ich ACCESS dazu bringe, wieder S: zu verwenden.

Beaker s.a.

Hallo,
ZitatACCESS macht daraus "//nas/ ..."
Da ich nur A2010 habe, - verwendet A2016 jetzt automatisch UNC-Pfade?
Ich verwende die inzwischen nur noch, und ermittele sie mit diesem Code
#If VBA7 Then

Private Declare PtrSafe Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" ( _
            ByVal lpszLocalName As String, _
            ByVal lpszRemoteName As String, _
            cbRemoteName As Long) As Long
#Else
Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" ( _
            ByVal lpszLocalName As String, _
            ByVal lpszRemoteName As String, _
            cbRemoteName As Long) As Long
#End If

Public Function UncPath( _
                ByVal Path As String, _
                Optional ByVal IgnoreErrors As Boolean = True) As String
'----------------------------------------------------------------------------------
' Author    : Josef Pötzl
' Purpose   : gibt den UNC-Pfad des übergebenen Pfades zurück
'----------------------------------------------------------------------------------
   Dim UNC As String * 512
   
   If Len(Path) = 1 Then Path = Path & ":"
   
   If WNetGetConnection(Left$(Path, 2), UNC, Len(UNC)) Then
   
      ' API-Routine gibt Fehler zurück:
      If IgnoreErrors Then
         UncPath = Path
      Else
         Err.Raise 5 ' Invalid procedure call or argument
      End If
   Else
      ' Ergebnis zurückgeben:
      UncPath = Left$(UNC, InStr(UNC, vbNullChar) - 1) & Mid$(Path, 3)
   End If
   
End Function

Vielleicht kannst du damit auch was anfangen.
gruss ekkehard

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)