ورود

View Full Version : ارسال پيغام درصورت قطع شدن شبكه



alighoch
دوشنبه 23 دی 1387, 16:20 عصر
با سلام و خسته نباشيدمهندس ها يه سوال:من يه برنامه دارم كه تحت شبكه كار ميكنه يعني اينكه بانك اطلاعاتي روي يك كامپيوتر (سرور) به اشتراك گذاشته شده و يك فايل ديگه هم روي كلاينت ها هست كه اطلاعات فرم را به بانك ميفرستند.من يه فايل اجرايي طراحي كردم كه هنگامي كه بخواهد فايل اكسس را اجرا كند ارتباط خود را با سرور چك كرده و اگه ارتباط برقرار باشد فايلي كه روي كلاينت بايد اجرا شود،اجرا ميشود و اگه ارتباط قطع باشد پيغام ميدهد كه ارتباط قطع است. (به اين صورت چك ميشود ارتباط كه گفته شده فايل بانك اطلاعاتي را روي سرور چك كن اگه بانك بود برنامه اجرا و اگه قطع بود پيغام بده)حالا مشكل اينجاست كه بعد از اينكه فايل اجرا شد اگه شبكه قطع شود خود اكسس مسير بانك را نشون ميده و ميگه ارتباط با بانك قطع هست و مسير بانك لوح ميرود و اطلاعات برداشته ميشه.حالا من ميخوام بگم وقتي فرم تكميل شد كه دكمه ارسال زده ميشه باز ارتباط چك بشه اگه قطع بود پيغام بدهد (كد چك كردن فايل روي سرور در اكسس ميخوام) مرسي با تشكر

مهدی قربانی
پنج شنبه 26 دی 1387, 20:46 عصر
سلام
از این تکه کد می تونید استفاده کنید :

On Error GoTo cnnerr
Dim wrkJet As Workspace
Dim dbs As Database
Set wrkJet = CreateWorkspace("NewJetWorkspace", _
"admin", "", dbUseJet)
Set dbs = wrkJet.OpenDatabase("C:\Users\mostafa\Desktop\abc.mdb")
MsgBox dbs.TableDefs.Count

cnnerr:
If Err.Number = 3024 Then
MsgBox "دیتابیس مورد نظر موجود نیست"
Exit Sub
MsgBox Err.Description
End If

بجای آدرس قرمز شده آدرس بانک مورد نظرتون رو قرار بدید .

alighoch
جمعه 27 دی 1387, 19:22 عصر
با تشكر از مهدي جون،لطف كردي عزيزم ولي جواب نداد
اين پيغامو ميده (عكس) مسير و اسم بانكو ميگه و لو ميره
كمك كن باز مهدي جون

مهدی قربانی
جمعه 27 دی 1387, 19:54 عصر
سلام
این پیغامی که اشاره کردید ربطی به اکسس نداره احتمال می دم این پیغام به مشکلات (سخت افزار) شبکه ای مربوط باشه.

alighoch
شنبه 28 دی 1387, 15:49 عصر
سلام مجدد
عزيزم درسته پيغام مربوط به شبكه هست.ميگه سرور را نميتوانم پيدا كنم و آدرس بانك را ميگه
همون طور كه گفتم من بانك را روي يك سرور SHARE كرده و از LINK TABLE استفاده كردم در كلايت ها.فرم كه روي كلاينت پر ميشه وقتي ميخواهد اطلاعات فرم روي كلاينت را به سرور انتقال دهد (منظور همان جدولي كه لينك شده اش روي برنامه كلاينت هست) اگه سرور خاموش شود روي كلاينت اين پيغام را ميدهد.
آقا مهدي ياري كن كه گير ايشالا آخرين گيره پروژه هست مريسي

مهدی قربانی
شنبه 28 دی 1387, 17:20 عصر
سلام
والا من که با سرور هم تست کردم جواب داد ، روی یک کلاینت دیگه چک کنید ضمناً اون خط از کد رو که آدرس فایل موجود در سرور تعیین شده اینجا بذارید تا ببینم به چه نحوی عمل می کنید یک مثال :

Set dbs = wrkJet.OpenDatabase("\\MainFolder\users\Staff\Test.mdb")

یک نکته : اگر به هر دلیلی فایل کلاینت نتونه آدرس فایل روی سرور رو پیدا کنه برنامه شما با خطای کد 3024 مواجه میشه و اون پیغامی که در کد نویسی و قسمت کنترل خطا نوشته شده باید نمایش داده بشه ( قبل از هر پیغام ویندوزی و ... ) پس می تونیم اینطوری نتیجه بگیریم که فایل کلاینت تونسته به فایل روی سرور وصل بشه وگرنه اول پیغام خود برنامه نمایش داده می شد ..

alighoch
شنبه 28 دی 1387, 23:41 عصر
آقا مهدي تشكر كه لطفت را به من كم نميكني.
من از اين كد استفاده ميكنم جهت ارسال اطلاعات از فيلدهاي فرم به جدول

On Error GoTo cnnerr
Dim db As Database
Dim rst As Recordset


Set db = CurrentDb
Set rest = db.OpenRecordset("table")
rest.AddNew
rest.Fields("a").Value = Me.a
rest.Fields("b").Value = Me.b
rest.Fields("c").Value = Me.c
rest.Fields("d").Value = Me.d
rest.Fields("e").Value = Me.e
rest.Fields("f").value = Me.f
rest.Fields("g").Value = Me.g
rest.Fields("ca").Value = Me.Combo
rest.Fields("cb").Value = Me.Combo1
rest.Update
rest.Close
db.Close


Set rst = Nothing
Set db = Nothing


cnnerr:
If Err.Number = 3024 Then
MsgBox "bank pida nashod"
Exit Sub
MsgBox Err.Description
End If


End Sub


وقتي كليد را ميزنم يه مدت سعي ميكنه به سرور وصل شه(جدول LINK شده )و بعد اون Error را ميده كه ميگه مدت زياد از حد شده و نتونسته اطلاعات را به بانك (كه مسيرشم ميگه تو Error ) انتقال بده .
مرسي

alighoch
یک شنبه 29 دی 1387, 20:22 عصر
درود بر آقا مهدي و دوستان
كجايي مهدي جون به دادم برس :گریه::گریه:

مهدی قربانی
یک شنبه 29 دی 1387, 21:54 عصر
سلام
آقا بازم تاکید می کنم این Error ربطی به اکسس نداره و احتمالاً به ارتباط یا سخت افزار شبکه مربوط میشه شما اصلاً از روی دستگاهی که این مشکل رو داره به محل قرار گرفتن فایل روی سرور دسترسی دارید ؟
دوباره توصیه می کنم از یه دستگاه دیگه تست کنید.

iemt_hhk
دوشنبه 30 دی 1387, 07:41 صبح
شماره error چنده؟

iemt_hhk
دوشنبه 30 دی 1387, 07:42 صبح
من با کدی که آقا مهدی دادن تونستم انجام بدم.

HAMRAHSOFT.IR
سه شنبه 01 بهمن 1387, 08:42 صبح
ببخشيد دوستان اگه پايگاه داد اسكسول باشه چي؟