Neuigkeiten:

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

Mobiles Hauptmenü

zu lange Wartezeit bei gestörten Internetzugang

Begonnen von Mykis, September 28, 2015, 09:43:52

⏪ vorheriges - nächstes ⏩

Mykis

Hallo Access -Fans,

meine Pilzkartierungsprogramm lädt beim Programmstart mit einem VBA Code eine kleine Datei von meiner Homepage, um zu vergleichen, ob die neueste Version vorhanden ist.
Nun kommt es vor, dass durch gestörtem Internetzugang dieser Download nicht möglich ist. Der Programmstart dauert dann in diesen zwar eher seltenen Fall ewig und Access zeigt natürlich dann "keine Rückmeldung" an. Läßt sich diese lange "Suche nach dem Internet" mit einem VBA-Code unterbrechen, damit das Programm trotzdem normal gestartet wird.

Beste Grüße
Frank

datekk

#1
Was heißt denn "Internetverbindung gestört"? Nicht mit dem Internet verbunden oder sehr langsame Übertragungsraten?

Bin nämlich gerade wegen einer anderen Sache drüber gestolpert. Ob eine Verbindung existiert oder nicht kann angeblich mit folgendem Code geprüft werden:

Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long

Function Verbindung_zum_Internet() As Boolean
'Diese Funktion prüft ob eine Verbindung zum Internet besteht.

If InternetGetConnectedState(l_dwflags, 0&) Then
   Verbindung_zum_Internet = True
Else
   Verbindung_zum_Internet = False
End If
End Function


Quelle: http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=114655

Hab ich allerdings nicht getestet...
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

Mykis

Hallo datekk,

vielen Dank für deine Antwort und den Code, der prinzipiell funktioniert.
Die Zeile "Verbindung_zum_Internet = False" läßt sich allerdings nicht so einbauen, dass die ewig lange Suche vermieden wird.
Mit Internet gestört, meine ich eine vorübergehende Unterbrechung bzw. eine sehr schwache Wlan-Verbindung.

LG
Frank


Mykis

Hallo Franz,

interessant, dass man da in der Registry was verändern kann. Meine Datei wird mit folgenden Code downloadet.
Public Function FileDownload(ByVal sURL As String, _
  ByVal sLocalFile As String, _
  Optional ByVal bClearCache As Boolean = True) As Boolean

  Dim lResult As Long

  ' URL-Cache leeren?
  If bClearCache Then
    lResult = DeleteUrlCacheEntry(sURL)
  End If

  ' Download ausführen
  'Screen.MousePointer = vbHourglass
 
  lResult = URLDownloadToFile(0, sURL, sLocalFile, 0, 0)
  'Screen.MousePointer = vbNormal

  FileDownload = (lResult = 0)

End Function


KeepAliveTimeout bringt da nicht viel. Wie könnte ich eventuell noch die  Funktion "Function FileDownload" bei unterbrochenen Internetzugriff abbrechen?

LG
Frank

DF6GL

Hallo,

vermutlich ist das hier das falsche Forum für solche Windows-Internas....

Ich müsste auch erst genauer recherchieren...

Mykis

Hallo Franz,

Danke, da werde ich mal mit Windows-Experten kurzschließen.

LG
Frank

Mykis

Hallo datekk,

habe deinen VBA-Code nochmal getestet. Er erkennt nur, ob eine Internetverbindung eingerichtet ist, nicht ob Connection besteht.

LG
Frank