السلام عليكم ورحمة الله وبركاته
أخواني اريد أن اربط برنامجي على الشبكة المحلية واقدر اتحكم في البرنامج من عدة كمبيوترات
ملاحظة : أنا اعمل على الفيجوال بيسك 6
السلام عليكم ورحمة الله وبركاته
أخواني اريد أن اربط برنامجي على الشبكة المحلية واقدر اتحكم في البرنامج من عدة كمبيوترات
ملاحظة : أنا اعمل على الفيجوال بيسك 6
يمكنك اخى الكريم وضع قاعدة بيانات مركزية بالسيرفر ثم توزيع برنامجك بالsetupعلى كل جهاز كمبيوتر مربوط بالشبكة مع ملاحظة عمل shairingلملف قاعدة البيانات بالسيرفر والله اعلم
بسم الله الرحمن الرحيم
أخي يجب أن تنتبه أن shairing يجب أن يكون Full لكي يمكن للبرنامج التعديل على محتويات قاعدة البيانات ولهذا أيضاً مشاكله حيث يمكن حذفها بسهوله بواسطة الشبكة اذا لم يكن البرنامج شغال، الا اذا كنت تعمل على NTFS فيمكنك تحديد صلاحيات فتسمح بالقراءة والتعديل وتمنع الحذف (أقصد حذف الملف كاملا وليس حذف سجلات من قاعدة البيانات )
والحل الأفضل هو عمل برنامجين
الأول : Server
وهو البرنامج الرئيسي ويكون فعليا أبسط من البرنامج الثاني فهو يقوم باستلام الطلبات من البرنامج الـ Client وينفيذها فقط وفيه شاشة واحدة أو شاشتين على الأغلب للتحكم بعملية الاتصال .
البرنامج الثاني : Client
ويكون فعليا هو البرنامج الذي يحوي كل العمليات التي قمت بعملها على برنامجك الحالي ولكنه بتغيير أنه لا يرتبط مع قاعدة البيانات مباشرة ويرسل لها الأوامر بل يرسلها الى البرنامج الأول Server ليقوم هو بذلك نيابة عنه .
هذا البرنامج يحتاج منك معرفة بالـ Winsock وبرمجتها وستجد مواضيع كثيرة في المنتدى تشرح طريقة عملها ، ومن أهمها كتاب الأخ الاستاذ الفاضل رغيد الطيب كتاب الاستاذ رغيد الطيب لشرح الاداة WinSock كاملا ومفصلا
وان شاء الله يكون كلامي مفهوم ويحل المشكلة التي تعاني منها .
والسلام عليكم ورحمة الله وبركاته
********************* ******************** *********************
(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))
********************* ******************** *********************
لا تقـل من أيـن أبدأ
طـاعـة الله الـبدايـة
***
لا تقـل أين طـريـقي
شــرع الله الهـدايـة
***
لا تـقـل أيـن نعـيمي
جـنـة الله كـفـايـــــة
***
لا تقـل في الغـد أبدأ
ربمـــا تأتـي النهـايـــة
**************** **************** ****************
جزاكم الله كل خير وجعله في ميزان حسناتكم أخوتي في لله .
إن شاء الله يكون هو المطلوب جاري التحميل
لي تجربة بسيطة في هذا الموضوع سأعرضها عليكم وأرجو ممن لديه حل لمشكلتي أن يخبرني بها :
1- عملت برنامجا VB6 لعمل اختبارات للمستخدمين بحيث يتم تجميع الإجابات وحفظها في قاعدة بيانات (Access)
2- قمت بتنزيل قاعدة البيانات في مجلد في أحد الكمبيوترات المرتبطة بالشبكة وعملت له مشاركة
3- قمت بتحميل البرنامج في جهاز أخر بنفس الشبكة
4- عند تشغيل البرنامج يتم طلب قاعدة البيانات لأول مرة وتحديد مكانها في الشبكة من خلال Common Dialog بحيث لا يعمل البرنامج إلا إذا تم تحديد قاعدة البيانات المطلوبة
5- بعد تحديد قاعدة البيانات، يقوم المستخدم بإدخال رقم الدخول فيقوم البرنامج بمقارنة الرقم بالسجلات المخزنة في قاعدة البيانات، ولكن وبرغم أن
قاعدة البيانات فارغة إلا أنه تظهر رسالة خطأ تفيد بما يلي : Error 3021
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record
وتظهر هذه الرسالة عند إدخال أي رقم جديد
6- ولكن عند تشغيل البرنامج في نفس الجهاز الذي فيه قاعدة البيانات لا تظهر هذه المشكلة ويعمل البرناج بشكل سليم
فهلا أرشدتموني إلى مكمن الخلل
وهل أستطيع من خلال الـ Winsock معالجة البينات في قاعدة البيانات (Access)
تم تعديل هذه المشاركة بواسطة مداد القلم في 4 أغسطس 2007 في 00:13
هذا الموضوع مغلق.