در مورد سوال اول ، یه ماژول جدید ایجاد کنید و کد های زیر رو داخلش قرار بدید :
Public Declare Function InternetGetConnectedState Lib _
"wininet" (lpdwFlags As Long, ByVal dwReserved As Long) _
As Boolean
Public Const INTERNET_CONNECTION_MODEM = 1
Public Const INTERNET_CONNECTION_LAN = 2
Public Const INTERNET_CONNECTION_PROXY = 4
Public Const INTERNET_CONNECTION_MODEM_BUSY = 8
Public Function IsConnect(ByRef ConnectionStatus As String) As Boolean
Dim Flags As Long
Dim result As Boolean
result = InternetGetConnectedState(Flags, 0)
If result Then
IsConnect = True
Else
IsConnect = False
Exit Function
End If
If Flags And INTERNET_CONNECTION_MODEM Then ConnectionStatus = "Connection Via Modem"
If Flags And INTERNET_CONNECTION_LAN Then ConnectionStatus = "Connecion Via LAN"
If Flags And INTERNET_CONNECTION_PROXY Then ConnectionStatus = "Connection uses a Proxy"
If Flags And INTERNET_CONNECTION_MODEM_BUSY Then ConnectionStatus = "Connection Via Modem but modem is busy"
End Function
و بعد با استفاده از کد زیر کانکت بودن یا نبودن یوز رو چک کنید :
Dim ConnectionType As String
If Module1.IsConnect(ConnectionType) Then
MsgBox "Connected with " & ConnectionType
End If
در مورد سوال دوم هم لازمه که دیتابیس شما یه دیتابیس تحت شبکه (کلاینت/سرور) مثل SQL Server باشه.