اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته 🙂

إنتهيت ولله الحمد من تصميم وبرمجة الفكرة التي أشرت إليها سابقا في الموضوع التالي للأستاذ العزيز @jjafferr

وهذه مجرد تشويقة للموضوع 🙂 وسوف أفرد موضوع خاص بهذا الأمر إن شاء الله 🙂

=======================================================

في البداية صممت قاعدة بيانات تقوم بحفظ المسارات ( مسارات ال Back End) أو نسخة الجداول التي يتم ربطها بها .. وذلك للعودة إليها لاحقا بدل البحث عنها في كل مرة 🙂

وكذلك لتجنب أن يعرف الزبون أو العميل أو المستخدم النهائي المكان الذي تم وضع قاعدة البيانات به .. 😉

 

أول ما نشغل البرنامج ( أو الـ Front End ) في الجهاز وما يلاقي ال BE  ستظهر هذي النافذة :

image.png.7e8f7fcae0830e527d790100976f436e.png

كما هو ملاحظ ..

- عندنا 4 مواقع أو أربع BE مخزنة لنفس هذا البرنامج .

- الروابط الحقيقية غي ظاهرة للمستخدم .. فقط أسم الملف يظهر .

- النقاط الحمراء والخضراء تحت العنوان ( متوفرة؟) .. ( الخضراء ) تخبرنا بالروابط المتاحة حالياً ويمكن الاتصال بها ، ( والحمراء ) تخبرنا بالمواقع الغير متوفرة حاليا  🙂 .

  وذلك باعتبرار أننا نشتغل من جهاز المبرمج حاليا 🙂 

- تاريخ الإضافة يبين لي التاريخ الذي تم إضافة هذا الرابط فيه وذلك للتأكد من تاريخ النسخة التي أريد العمل عليها .

وهذه طريقة الاتصال بالقواعد المخزنة :

Etesal1.gif.fd85ff83c8627525ec06086400d1fa0b.gif

( لا يفوتك شريط التقدم 😉 .. هذا لوحده حكاية .. من إبداعاتي طبعا 😅 )

- طبعا لاحظتوا أنه مباشرة بعد الاتصال بنجاح يفتح لنا صفحة الدخول على طول 🙂 

 

ثانيا : في حال عدم تطابق أي نسخة من النسخ المخزنة الحالية .. :

- يمكن عمل اتصال جديد من خلال الزر [ إنشاء اتصال جديد ] ..

- وسوف البرنامج تلقائيا بحفظ المسار الجديد من ضمن القائمة ( قائمة المسارات المخزنة ) .

NewEtesal.gif.8f0eb27a1429ef532f759e1b0f6c4899.gif

- وعند فتح البرنامج مرة أخرى سنجد أن البرنامج قام بحفظ المسار الجديد من ضمن القائمة 🙂 

image.png.45359d551d1bd101074287c0a0b8f17e.png

ثالثا : خيار تحرير المسارات المخزنة ( إضافة / حذف / تعديل ) :

- هذا الخيار محمي بكلمة سر ( خاصة بالمبرمج ) يطلبها البرنامج للدخول على نافذة التعديل 🙂 

- يمكن إضافة مسارات جديدة هنا بكل سهولة .. مثلا في حال عدم وجودك في موقع الزبون لكي تربط ال FE بال BE لتخزينه في الجدول ، يمكنك نسخ الرابط من هناك أو كتابته يدويا ليكون من ضمن القائمة 🙂 

128473388_EditMsarat.gif.fae5289f5c870ec24291267e60788628.gif

أما بخصوص طريقة فتح البرنامج بدون نوافذ علوية ومع إخفاء نافذة العناصر .. فجمعتها كلها في موديول واحد اسمه Start أناديه من خلال ماكرو البداية المسمى بالـ AutoEXEC  🙂 .. 

- فقط عليك أن ترسل له ثلاثة أشياء ( متغيرات ) :

1- اسم نموذج البداية ( أول نموذج تريده يفتح في البرنامج )

2- هل تريد ظهور النوافذ العلوية ونافذة العناصر ؟ تكتب : ( True / False ).

3- اسم أحد الجداول ( المرتبطة ) ،،،، لاحظ المرتبطة  🙂 وذلك بهدف فحص ما إذا كانت الواجهة مرتبطة بقاعدة البيانات أو لا .

فمن خلال هذا الموديول لن تحتاج للدخول فيه لتغيير الإعدادات .. فقط عليك كتابة المتغيارات هنا في ماكرو ال AutoEXEC .

image.png.7b9f2738081eddfd775b8b178b675359.png

 

هذا والسلام 🙂 

وبانتظار رأيكم واقتراحاتكم أساتذتي الأعزاء للتطوير .. 🙂

وبعدها سأنشر الملفات كلها هنا ليستفيد منها الجميع 🙂 

 

أخوكم ...

موسى الكلباني

  • Like 1
  • Thanks 1
قام بنشر
1 ساعه مضت, Moosak said:

السلام عليكم مجددا 🙂

إنتهيت ولله الحمد من تصميم وبرمجة الفكرة التي أشرت إليها سابقا ..

وهذه مجرد تشويقة للموضوع 🙂 وسوف أفرد موضوع خاص بهذا الأمر إن شاء الله 🙂

=======================================================

في البداية صممت قاعدة بيانات تقوم بحفظ المسارات ( مسارات ال Back End) أو نسخة الجداول التي يتم ربطها بها .. وذلك للعودة إليها لاحقا بدل البحث عنها في كل مرة 🙂

وكذلك لتجنب أن يعرف الزبون أو العميل أو المستخدم النهائي المكان الذي تم وضع قاعدة البيانات به .. 😉

 

أول ما نشغل البرنامج ( أو الـ Front End ) في الجهاز وما يلاقي ال BE  ستظهر هذي النافذة :

image.png.7e8f7fcae0830e527d790100976f436e.png

كما هو ملاحظ ..

- عندنا 4 مواقع أو أربع BE مخزنة لنفس هذا البرنامج .

- الروابط الحقيقية غي ظاهرة للمستخدم .. فقط أسم الملف يظهر .

- النقاط الحمراء والخضراء تحت العنوان ( متوفرة؟) .. ( الخضراء ) تخبرنا بالروابط المتاحة حالياً ويمكن الاتصال بها ، ( والحمراء ) تخبرنا بالمواقع الغير متوفرة حاليا  🙂 .

  وذلك باعتبرار أننا نشتغل من جهاز المبرمج حاليا 🙂 

- تاريخ الإضافة يبين لي التاريخ الذي تم إضافة هذا الرابط فيه وذلك للتأكد من تاريخ النسخة التي أريد العمل عليها .

وهذه طريقة الاتصال بالقواعد المخزنة :

Etesal1.gif.fd85ff83c8627525ec06086400d1fa0b.gif

( لا يفوتك شريط التقدم 😉 .. هذا لوحده حكاية .. من إبداعاتي طبعا 😅 )

- طبعا لاحظتوا أنه مباشرة بعد الاتصال بنجاح يفتح لنا صفحة الدخول على طول 🙂 

 

ثانيا : في حال عدم تطابق أي نسخة من النسخ المخزنة الحالية .. :

- يمكن عمل اتصال جديد من خلال الزر [ إنشاء اتصال جديد ] ..

- وسوف البرنامج تلقائيا بحفظ المسار الجديد من ضمن القائمة ( قائمة المسارات المخزنة ) .

NewEtesal.gif.8f0eb27a1429ef532f759e1b0f6c4899.gif

- وعند فتح البرنامج مرة أخرى سنجد أن البرنامج قام بحفظ المسار الجديد من ضمن القائمة 🙂 

image.png.45359d551d1bd101074287c0a0b8f17e.png

ثالثا : خيار تحرير المسارات المخزنة ( إضافة / حذف / تعديل ) :

- هذا الخيار محمي بكلمة سر ( خاصة بالمبرمج ) يطلبها البرنامج للدخول على نافذة التعديل 🙂 

- يمكن إضافة مسارات جديدة هنا بكل سهولة .. مثلا في حال عدم وجودك في موقع الزبون لكي تربط ال FE بال BE لتخزينه في الجدول ، يمكنك نسخ الرابط من هناك أو كتابته يدويا ليكون من ضمن القائمة 🙂 

128473388_EditMsarat.gif.fae5289f5c870ec24291267e60788628.gif

أما بخصوص طريقة فتح البرنامج بدون نوافذ علوية ومع إخفاء نافذة العناصر .. فجمعتها كلها في موديول واحد اسمه Start أناديه من خلال ماكرو البداية المسمى بالـ AutoEXEC  🙂 .. 

- فقط عليك أن ترسل له ثلاثة أشياء ( متغيرات ) :

1- اسم نموذج البداية ( أول نموذج تريده يفتح في البرنامج )

2- هل تريد ظهور النوافذ العلوية ونافذة العناصر ؟ تكتب : ( True / False ).

3- اسم أحد الجداول ( المرتبطة ) ،،،، لاحظ المرتبطة  🙂 وذلك بهدف فحص ما إذا كانت الواجهة مرتبطة بقاعدة البيانات أو لا .

فمن خلال هذا الموديول لن تحتاج للدخول فيه لتغيير الإعدادات .. فقط عليك كتابة المتغيارات هنا في ماكرو ال AutoEXEC .

image.png.7b9f2738081eddfd775b8b178b675359.png

 

هذا والسلام 🙂 

وبانتظار رأيكم واقتراحاتكم أساتذتي الأعزاء للتطوير .. 🙂

وبعدها سأنشر الملفات كلها هنا ليستفيد منها الجميع 🙂 

 

أخوكم ...

موسى الكلباني

الأخ موسى الكلباني @

الفكرة اعجبتني جدا جدا جدا ومجهود يستحق الشكر والتقدير ولأول مرة اضفت ردا  في هذا المنتدى الذي افادنا كثيرا ونشكر القائمين عليه

وكل من نشر او شارك بهدف ان يستفيد الجميع

نرجوا تنزيل الملف مفتوح المصدر نستفيد وجزاك الله خير 

اسأل الله ان يجعلها في ميزان حسناتك

 

  • Thanks 1
قام بنشر
1 ساعه مضت, معاذ الجماعي said:

الأخ موسى الكلباني @

الفكرة اعجبتني جدا جدا جدا ومجهود يستحق الشكر والتقدير ولأول مرة اضفت ردا  في هذا المنتدى الذي افادنا كثيرا ونشكر القائمين عليه

وكل من نشر او شارك بهدف ان يستفيد الجميع

نرجوا تنزيل الملف مفتوح المصدر نستفيد وجزاك الله خير 

اسأل الله ان يجعلها في ميزان حسناتك

 

العفو أخي العزيز .. 🙂

لازلت أنتظر رأي ومقترحات السادة الخبراء والأعضاء الأفذاذ للتطوير وسماع الآراء بهدف إيجاد حلول متكاملة تخدم المطورين والمبرمجين .. 

ولعل الاستماع للتجارب والمواقف المختلفة للأعضاء يفيدنا في تلافي الأخطاء عند التصميم ويسهل علينا العمل مستقبلا . 😊

  • Like 2
  • 2 weeks later...
قام بنشر

السلام عليكم ورحمة الله وبركاته ..

رجعت لك من جديد عمي جعفر @jjafferr ( ما نسيت السالفة ) 😅

هذي المرة راجع مع إضافات مميزة 🙂 ..  

أخذت ملاحظاتك للأستاذ أبو خليل بعين الاعتبار 👍😉

في 11‏/3‏/2022 at 19:45, jjafferr said:

1. عند عمل المبرمج واجهة برنامجه FE ، فيحتاج الى عمل ربط لجداوله BE في جهازه ،

2. عند ارسال الواجهة للمستخدم ، فيجب ان يعمل البرنامج بدون تدخل المستخدم بإختيار مسار قاعدة البيانات ،

1. عند استلام المبرمج واجهة البرنامج للتعديل/الاضافة ، فيحتاج الى عمل ربط لجداوله BE في جهازه ،

2. عند ارجاع الواجهة للمستخدم ، فيجب ان يعمل البرنامج بدون تدخل المستخدم بإختيار مسار قاعدة البيانات.

 إليك الجديد في البرنامج :

1925201357_2AutuConnect.png.b3f117a516d9a68da821085b83dee49b.png

أول شيء عليك أن تقوم به (كمبرمج) هو إضافة روابط قواعد البيانات الخلفية للاتصال وتخزينها في البرنامج ( لاحظ أن جدول قواعد البيانات المخزنة هو جدول محل وليس جدول مرتبط) .. وهذا الجديد :

1 - أضفت خيار الاتصال التلقائي 🙂 : البرنامج يتصل تلقائيا بأول قاعدة جداول يجدها عند توافر 3 شروط  : 1- يكون خيار (اتصال تلقائي )مفعل  2- يكون خيار (عرض المسار )مفعل 3- تكون القاعدة متوفرة.

2 - أضفت خيار عرض المسار : لعرض المسار في قائمة المسارات اللي تظهر أو عدم عرضه وتخزينه فقط لاعتبارات تخدم المبرمج فقط 🙂 

3 - أضفت خيار كتابة كلمة مرور قاعدة البيانات في حال كان لها باسوورد ، في حالة لا يوجد كلمة مرور يترك الحقل فاضي والبرنامج سيتعامل معها بطريقته .

----------------------------------------------------------------------------------

الآن باعتبار أن لدينا ثلاث قواعد بيانات وكلها مخزنة في الجدول ..

1809739714_6Files.jpg.b964ee1e6d8601b12dc99807b9b498a9.jpg

هكذا تقوم القاعدة بالإتصال التلقائي لما نكون في جهاز المبرمج : 🙂 

35874909_3AutoConnecting.thumb.gif.252f15f69948e5a8cde4a0771fb53477.gif

 

ولما ننتقل إلى جهاز العميل .. يقوم البرنامج بالاتصال تلقائيا بقاعدة البيانات في جهازة ..

2066353501_4AutoConnectingtoClient.thumb.gif.4b410688868e6d00cf17bfd77f67b659.gif

وعندما لايجد البرنامج أي قاعدة بيانات متوفرة .. يفتح لك نافذة إنشاء اتصال جديد .. أو أنك تعدل الروابط في قسم التعديل ..

106733695_5NoBEFound.thumb.gif.5095300cf10d25c99594840aa4ee752b.gif

======================================================

الآن لإلغاء موضوع الاتصال التلقائي يحتاج أنك تلغي الخيار (اتصال تلقائي ) بتلك القاعدة .. ويمكنك تحطه لقاعدة معينة وتلغيه من الباقيات ..

1355623507_7CutAutoConnect.jpg.e5f506e1cfb362f0eef7aaecfb5954e7.jpg

بعد كذا عند الفتح ( لما تكون ألغيت الاتصال التلقائي ) ستظهر لك هذي النافذة مباشرة  ( الاتصال اليدوي بقاعدة البيانات ) :

803872079_8ManualConnect.jpg.1508cf6fb6c14d5d461c06ba1359f108.jpg

لاحظ أنه يخبرك في الأسفل بآخر قاعدة كان متصل بها .. أو القاعدة اللي متصل بها الآن 🙂 

بالمناسبة الآن بعد إضافة حقل لكلمة المرور الخاصة بقاعدة البيانات .. الآن البرنامج يسألك إذا كان لها باسوورد أو لا عند عمل اتصال بقاعدة جديدة 🙂 

 

=====1930093585_8NewBe.thumb.gif.343886b2ecd7e2a80e2a5500ddce9834.gif================================================================

 

وبخصوص ماكرو ال Autoexc تم تطويره أيضا 🙂 

181005952_1Autoexec.png.f3cb03df151e79e931b79953fa144dc0.png

وضيفة الماكرو أنه يشغل لنا دالة اسمها Start  .. ولها 4 متغيرات هذي المرة بدل 3 🙂 

1 -  تعطيها اسم أول نموذج أو فورم تريده يشتغل .

2- تكتب ( true / False ) وذلك لتقفيل البرنامج بشكل كامل وإخفاء النوافذ العلوية وتعطيل القوائم الخاصة ووو ... إلخ 😁 ( باختصار تجهيز البرنامج للتسليم النهائي).

3- تكتب ( true / False ) في حالة أنك تريد تفعيل خاصية الاتصال التلقائي لقاعدة الجداول أو تعطيله .

4 - نكتب فيه اسم أحد الجداول المرتبطة وذلك لفحص إذا كان البرنامج متصل بقاعدة البيانات (الجداول) أو لا ..

 

شي أكثر من كذا دلع !! 😄

======================================

والآن مع اللحظة الحاسمة .. ملف التحميل 😊

طبعا الغرض الأساسي من وضع العمل هنا .. لارتباطة بالموضوع الأساسي لأستاذنا @jjafferr

وأيضا يهمني رأيه ورأيكم جميعا في هذا الابتكار بغرض التعديل والتطوير والتحسين 🙂 

والهدف الأكبر خدمة المبرمجين وتسهيل حياتهم 😊

المرفق

 

 

 

Auto Reconnect FE.zip

  • Like 2
  • Thanks 1
قام بنشر

وعليكم السلام اخوي موسى 🙂

 

فتحت البرنامج ، ورحبت بي رسالة خطأ

image.png.177a89de64cea4a0ab562f160628c0ff.png

.

هذا الرابط يوضح لك ما هي المشكلة

 

.

image.png.a45ea35bae7bfb0e39e65ff8b93226bc.png

 

جعفر

قام بنشر
7 دقائق مضت, jjafferr said:

فتحت البرنامج ، ورحبت بي رسالة خطأ

يا ساتر 😅 ..

الحين اسم البرنامج انجليزي والقاعدة انجليزي !! ما العمل ؟

أنت حليت المشكلة ولا تختبرني ؟ 😁✋🏻

قام بنشر

وعليكم السلام 🙂

 

وبعد ان اصلحت يدويا في الجدول مسارات قواعد البيانات ، شفت 3 ملفات ما يشوفها البرنامج :

image.png.4033567bcac82984295d6bb2ee4e4584.png 

.

للتأكد ان الاسم والمسار صح في الجداول ، مقارنه مع مكان الملفات:

image.png.53e640e5613e5279881720244057a953.png

.

اخذت اسم الملف الغير ظاهر في النموذج اعلاه (ما كتبته ، وانما عملت له نسخ ولصق) ، علشان يصير عندي المسار كاملا مع اسم الملف :

image.png.27d3411c10eb1d56858fc336b88562a0.png

.

والصقته في VBE ، واذا المشكلة ممتدة الى اسماء الملفات كذلك :

image.png.edb323d01043963b86e47c866f49342a.png

.

وانا على سفر اليوم العصر ، فما بالحق اجرب اكثر ، للأسف 😞

على العموم ، انا قمت بتعديل مرفقك اعلاه ، فاللي يجي ورائي ان شاء يقدر يجرب مباشرة 🙂

 

ولكن ، بغض النظر ، فعملك جبّار وواضح فيه لمسات جميلة ، والكثير ممكن يستفيد منه 🙂

 

جعفر

قام بنشر (معدل)

أولا أشكر لك اللحظات التي بذلتها للتجربة والتصحيح باش مهندس @jjafferr  ..  🌹🎉

مع أني لا زلت ما فاهم أين تكمن المشكلة بالضبط ولا كيف أحلها 😅 لأن الظاهر الأمور شغالة معي تمام ..

ما أدري هل المشكلة تستمر حتى مع استخدام المستعرض لجلب المسار ؟

image.png.f4766bb38cbdd4d1d82e41e363ca3dab.png

طبعا هذا ما حصل معي حتى بعد إعادة التسمية ..🤷‍♂️

حتى مع استخدام خاصية نسخ المسار  image.png.9f7a2c658a01d67283f2b388bd259c1e.png

image.png.fed4fb9063e8a136fdbc5a9f2c76c0f3.png

على الرغم من ذلك القاعدة تظهر عندي بدون مشاكل 😅

image.png.298f6598ba5b85255571c5ca6f0d7784.png

 

ما أدري هل واجه أحد الأخوة نفس المشكلة في هذا الموضوع ؟ :rol:

 

2 ساعات مضت, jjafferr said:

وانا على سفر اليوم العصر ، فما بالحق اجرب اكثر ، للأسف 😞

أسأل الله العظيم رب العرش العظيم أن يحفظك في حلك وترحالك .. 🙂 

واضح جدا أنك مستعجل لدرجة أنك نسيت ترفق الملف  😅

2 ساعات مضت, jjafferr said:

ولكن ، بغض النظر ، فعملك جبّار وواضح فيه لمسات جميلة ، والكثير ممكن يستفيد منه 🙂

يكفيني شرفا هذي الشهادة منك باش مهندس ☺️

 

تم تعديل بواسطه Moosak
قام بنشر
1 ساعه مضت, Moosak said:

مع أني لا زلت ما فاهم أين تكمن المشكلة بالضبط ولا كيف أحلها 😅 لأن الظاهر الأمور شغالة معي تمام ..

ما أدري هل المشكلة تستمر حتى مع استخدام المستعرض لجلب المسار ؟

استخدم ملفاتك الاصليه ، افصل الشبكة واشتغل من كمبيوتر ثاني ، وبتظهر لك المشكلة.

اساس المشكلة مو الاكسس ، وانما الوندوز ، فلما حفظت/غيّرت اسماء ملفاتك يدويا ، الوندوز اضاف هذه العلامات اللي ما تنشاف بالعين ، او يمكن انت بدأت تكتب اسم الملف ، واتضح لك انك تكتب بالعربي ، فحذفت الكلمات العربية ولكنك لم تحذف اسم الملف كاملا ، وبقيت التشكيلات التي لا تراها ، ثم واصلت بكتابة الاسم بالانجليزي !!

 

1 ساعه مضت, Moosak said:

على الرغم من ذلك القاعدة تظهر عندي بدون مشاكل 😅

برنامجك يقرأ اللي الوندوز اعطاه 🙂

 

1 ساعه مضت, Moosak said:

واضح جدا أنك مستعجل لدرجة أنك نسيت ترفق الملف  😅

وابويا انا عليك موسى ، صح كنت مستعجل ، لكن ما متدوده ، صاني قلت لك:

4 ساعات مضت, jjafferr said:

على العموم ، انا قمت بتعديل مرفقك اعلاه ، فاللي يجي ورائي ان شاء يقدر يجرب مباشرة 🙂

 

جعفر

  • Like 1
قام بنشر (معدل)
3 ساعات مضت, jjafferr said:

اساس المشكلة مو الاكسس ، وانما الوندوز ، فلما حفظت/غيّرت اسماء ملفاتك يدويا ، الوندوز اضاف هذه العلامات اللي ما تنشاف بالعين ، او يمكن انت بدأت تكتب اسم الملف ، واتضح لك انك تكتب بالعربي ، فحذفت الكلمات العربية ولكنك لم تحذف اسم الملف كاملا ، وبقيت التشكيلات التي لا تراها ، ثم واصلت بكتابة الاسم بالانجليزي !!

الآن فهمت عمي جعفر لما رجعت للملفات وفحصت ومحصت وجربت أنسخ ملفات أخرى 😅🖐🏼️

لكن أليس من المفترض أنه عند نقل الملفات من جهاز إلى آخر أن ينتقل الملف بعلاته ( بالاسم المشوه 😁 ) ويتعامل معاه بنفس الطريقة ؟!

إلى الآن ما جربت أنقله جهاز آخر .. لكني صلحت أسماء الملفات اللي عندي في جهازي 🙂 

3 ساعات مضت, jjafferr said:

لكن ما متدوده

حاشاك عن المدوده .. الظاهر إني أنا اللي كنت متدوده  😂 

الحين وضحت الصورة الحمد لله وسأراعيها مستقبلا 🙂 

رحلة سعيدة موفقة باش مهندس ولا تنسانا من الهدايا 😉

 

معاني الكلمات : المتدوده بالعماني : هو الشخص الغائب عن وعيه وفاقد للتركيز في لحظة ما 🙂 

تم تعديل بواسطه Moosak
قام بنشر (معدل)

الآن بفضل الله اتضح أن المشكلة ليست في أصل البرنامج وإنما في أسماء ملفات الـ(BE) ..

وبعد أن قام أستاذنا جعفر @jjafferr مشكورا بإصلاح المسميات ندعوكم أساتذتنا وأحبائنا للتجربة وإبداء رأيكم وملاحظاتكم 🙂 

المرفق والشرح موجود هنا :

 

تم تعديل بواسطه Moosak
  • 4 years later...
قام بنشر
4 ساعات مضت, abouelhassan said:

السلام عليكم اخى فى الله لدى نفس المشكلة خطـأ57 ما سبل الحل اخى Moosak والشكر موصول لاخى واستاذى الاستاذ jjafferr

وعليكم السلام ورحمة الله وبركاته 🙂 
ضع ملفك هنا أخي @abouelhassan ..

قام بنشر
17 دقائق مضت, abouelhassan said:

يعطيني خطأ عندم اجربه لاستخدامه فى برنامج

متى يظهر لك الخطأ تحديدا ؟

قام بنشر

انا جربت المثال : يعمل على أكمل وجه وبدون أخطاء

العمل جميل واحترافي وفيه الكثير من الافكار والفوائد

ولكن لي وجهة نظر .. حول الحاجة الفعلية العملية لمثل هذه الأفكار . بعيدا عن الكثير من الادوات
ارى لو تم تصميم المثال على النحو التالي :
- استبعاد الكثير من الادوات غير الضرورية من نماذج وغيرها والاكتفاء بنموذج واحد هو نموذج البداية ( الدخول ) فقط فقط  على اساس ان الامثلة تعليمة ميسرة

-  الاكتفاء بقاعدة بيانت خلفية واحدة تكون  بجانب الواجهات ويتم الارتباط بها آليا عند تشغيل البرنامج كل مرة يقلع فيها البرنامج

- تعديل النسخة الاحتياطية بحيث تكون عبارة عن تاريخ وووقت ( Now ) فقط كرقم مثل هذا التنسيق : 202607080253  .. السنة والشهر واليوم والساعة والدقيقة ... ويمكن تركها كتاريخ صريح

على نموذج البداية اربعة ازرار : النسخة الاحتياطية / الارتباط بآخر نسخة / الارتباط بنسخة محددة / العودة أو الارتباط بالنسخة الاساسية

عند اختيار الارتباط بآخر نسخة يبحث اكسس في مجلد النسخ عن آخر تاريخ ويرتبط بها

عند اختيار الارتباط بنسخة محددة يفتح مربع الحوار على مجلد النسخ لاختيار القاعدة المناسبة

عند اختيار العودة يرتبط اكسسس بالقاعدة الاساسية التي بجانبه

هذه الازرار  يمكن نقلها لأي مكان يراه المبرمج ..

ولكني في البداية قلت انه مجرد مثال تعليمي مبسط .. وعلى اعتبار غالب برامج اكسس تعتمد على قاعدة جداول واحدة

  • Like 1
قام بنشر
6 ساعات مضت, ابوخليل said:

ولكن لي وجهة نظر .. حول الحاجة الفعلية العملية لمثل هذه الأفكار . بعيدا عن الكثير من الادوات

أفكار جميلة جدا عمي @ابوخليل 🙂👌

 

ولكن أحب أن  أوضح بأن الأفكار التي وضعتها أنا أو الأستاذ جعفر كانت مبنية على احتياج فعلي في واقع بيئات أعمالنا 🙂 

حيث أنك تضطر لتوزيع نسخ البرنامج على أكثر من جهة عمل وكل جهة عمل لها قاعدة خلفية خاصة بها (لنفس البرنامج طبعا) .. فبدل أن تقوم بالإرتباط يدويا بالقاعدة الخلفية لكل بيئة عمل .. نخزن مواقع جميع القواعد الخلفية ونترك البرنامج تلقائيا يتصل بالقاعدة الخاصة به ..

مع إتاحة المجال لاختيار القاعدة المرغوب الاتصال بها من خلال النموذج .. وهذا يحصل غالبا في بيئة التطوير ، حيث أنك كمصمم للبرنامج تحتاج أحيانا للتنقل بسرعة بين القاعدة التجريبية وقاعدة العمل الفعلية .. فكان هذا هو الحل الأسرع ..
 

ليس الهدف الرئيسي من هذا العمل هو استعادة النسخ الاحتياطية المحفوظة كم فهمت من شرحك ، إنما الهدف الرئيسي هو الارتباط بالقاعدة الخلفية الرسمية تلقائيا .. مع إمكانية تمديد الاستفادة من النموذج للارتباط بأحد النسخ الاحتياطية .. 

 

وكمعلومة بالنسبة للنموذج السابق .. فإنني قمت بتطويره في برامجي الفعلية للاتصال بالقاعدة المحلية أو القاعدة المشتركة في الشبكة وكذلك أضفت خدمة استعادة النسخة الاحتياطية كذلك .. 🙂 

image.png.2bec2cf06519626a0174fb392699e62a.png

 

image.png.2d3558c646021d1abd95e20ad5a63336.png

  • Like 2
قام بنشر

وعليكم السلام اخوي ابوخليل

 

اساس الموضوع هو المستخدم:

1. المستخدم عنده  FE مسار للجداول BE (عادة في الشبكة) ، والمطور/المبرمج عنده مسار آخر BE لنفس قاعدة البيانات (مسار محلي D مثلا) ،

2. المبرمج عمل تعديلات ، وبعدها ارسل النسخة التالية من الواجهة الى المستخدم. هنا يقوم الكود/العمل اعلاه باعادة ربط الواجهة الجديدة FE بمسار جداوله تلقائيا.

3. والمبرمج لما يحتاج الى ربط الواجهة الى مساره ، يستخدم الامر التالي ، وتلقائيا يربط بمساره

f_ReLink_To_Original(2)
  • Like 1
قام بنشر
منذ ساعه, ابوخليل said:

اذاً  هي للمطورين

 

بل هي للإثنين .. ولكن بواجهة أنيقة سهلة ومفهومة للمستخدم 🙂 

قام بنشر
منذ ساعه, Moosak said:

بل هي للإثنين .. ولكن بواجهة أنيقة سهلة ومفهومة للمستخدم 🙂 

رغم اني مقتنع ان المستخدم العادي يكفيه فقط  قاعدة الجداول الرئيسية مع اتاحة الرجوع لنسخة سابقة واحدة

ومع ذلك انا مع المثل الذي يقول .. اذا جاءك اثنان فحك رأسك :smile:

قام بنشر
43 دقائق مضت, ابوخليل said:

المستخدم العادي يكفيه فقط  قاعدة الجداول الرئيسية مع اتاحة الرجوع لنسخة سابقة واحدة

هي في الأصل موجهة للأدمن (مدير البرنامج الرئيسي وليس بالضرورة يكون المبرمج نفسه ربما مدير المؤسسة أو تقني المعلومات في موقع العمل) أو لك كمبرمج لما تقدم دعم فني بالاتصال عن بعد .. ترتاح من الدخول للأكواد .. 🙂 
وكثير ما تحصل المشاكل لما تنقطع الشبكة المحلية تلقة ال FE في جهة وال BE في عالم آخر .. فالمستخدم العادي يتوه .. لكن أنت ستعرف سبب المشكلة من خلال النموذج اللي يظهر لك .. وسيكون سهل عليك تشرح لمدير البرنامج في موقع العمل .. 🙂 

قام بنشر

اخى استبدلت الدالة ب 

Public Function IsFileExists(ByVal TxtPath As Variant) As Boolean

    On Error GoTo ErrHandler

    Dim sPath As String

    sPath = Trim$(Nz(TxtPath, ""))

    'إزالة علامات الاقتباس
    sPath = Replace(sPath, """", "")

    If Len(sPath) = 0 Then
        IsFileExists = False
        Exit Function
    End If

    If Dir(sPath, vbDirectory) <> "" Then
        IsFileExists = True
    Else
        IsFileExists = False
    End If

    Exit Function

ErrHandler:

    Debug.Print "IsFileExists Error"
    Debug.Print "Path = [" & sPath & "]"
    Debug.Print Err.Number & " - " & Err.Description

    IsFileExists = False

End Function وعملت تمام ممكن شرح ما هى النماذج والدوال المطلوب للنثل للبرنامج بتاعى للعمل

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information