ورود

View Full Version : سوال: کنترل ارتباط فایل اصلی با دیتا بیس



محمد رضا بهبودی
شنبه 16 تیر 1403, 14:36 عصر
با سلام و احترام خدمت اساتید محترم
من یک فایل اکسس دارم که جدول آن لینک به یک فایل اکسس دیگر است که بر روی شبکه داخلی سازمان قرار گرفته
بر اساس تنظیمات فایروالهای سازمان ، زمانی که اینترنت وصل می باشد ( از طریق ای بی اسنجین ) من نمی توانم فایل برنامه را باز کنم .
در صورت امکان می خواهم راهنمایی بفرمایید که در ابتدای ورود به برنامه چنانچه ارتباط با دیتا بیس برقرار نباشد ، برنامه پیغامی را به همین مضمون نمایش دهد تا کاربر ابتدا نسبت به قطع اینترنت اقدام و سپس برای ورود به برنامه اقدام نماید .
ممنون

eb_1345
شنبه 16 تیر 1403, 16:37 عصر
سلام و وقت بخیر !
از کد های زیر در فرم استارت آپ برنامه ات استفاده کن:

Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long
Private Sub Form_Open(Cancel As Integer)
Dim CRes As Long
If IsNetworkAlive(CRes) > 0 Then
MsgBox "جهت ارتباط با بانک اطلاعاتی ارتباط با اینترنت را قطع نمائید!"
Cancel = True
End If
End Sub

محمد رضا بهبودی
یک شنبه 17 تیر 1403, 14:10 عصر
با سلام و احترام
ممنون از شما استاد گرامی

mazoolagh
دوشنبه 18 تیر 1403, 19:45 عصر
یادم بود که تاپیک اینچنینی داشتیم:
چک کردن اینترنت در اکسس (https://barnamenevis.org/showthread.php?565022)

جالب این که همین کد رو خود جناب بهبودی در همون تاپیک گذاشته بودن!

حالا اونجا هم توضیح مفصل دادم که چرا این کد (و مشابهش)
برای تشخیص دائمی وضعیت شبکه و اینترنت کارساز نیست (مگر در وضعیت های خاص)،
که اگر کسی علاقه داشت میتونه از همون تاپیک پیگیری کنه.

روش درست این هست که سراسر کدهای برنامه باید error handling درست و درمون داشته باشه،
و در برابر هر خطای احتمالی راهکار مناسب هم پیاده شده باشه.

اینها چیزهایی نیست که وضعیت ثابت داشته باشن (مثل بعضی مشخصات سخت افزاری)
و در هر لحظه ممکنه توسط کاربر یا عوامل بیرونی تغییر کنه.