بحث مخصص من جوجل فى أوفيسنا
Custom Search
علي محمد الكعبي

كود الاتصال بقاعدة بيانات

48 مشاركات في هذا الموضوع

لدي قاعدة بيانات مقسمة  قسمين جزاء جداول والجزاء الثاني نماذج وتقرير واستعلامات 

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

شارك هذه المشاركه


رابط المشاركه
شارك

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

شارك هذه المشاركه


رابط المشاركه
شارك
الان, محمد ايمن said:

تفضل اخي الكريم

Desktop.rar

المثال لايعمل يعطي رسالة لم يتم العثور على قاعدة البيانات

ونموذج بداية البرتامج هو المرفق في الصورة بحيث يكون اذا كان البرنامج مرتبط سابقاً فيتم قتح شاشة الدخول ام اذا لم يتم الربط اوتم نقل قاعدة البيانات فانه يتم فتح نموذج يتم من خلاله تحديد المسار الجديد لقاعدة البيانات ونقوم بالربط من خلالة ثم فتح شاشة الدخول او اعادة تشغيل البرانامج مع حفظ مسار قاعدة البيانات

kkkkkk.PNG

شارك هذه المشاركه


رابط المشاركه
شارك

اخي الكريم

بعد ظهور الرسالى سيظهر نموذج الارتباط وهو يظهر فقط عند تغيير المسار

قم باختيار قاعدة البيانات و ثم اعد تشغيل الملف ستجد انه لن يظهر لك رسالة

تم تعديل بواسطه محمد ايمن

شارك هذه المشاركه


رابط المشاركه
شارك

بعد اذن استاذنا العزيز / محمد ايمن

اخي الاستاذ / علي الكعبي 

اعتقد ان المشكلة تكمن في الكود الموجود في النموذج "FRMmainlogin "  في حدث عند التحميل 

احذف هذا الكود تجد الاتصال بالقاعدة دون مشاكل 

انظر المرفق 

هذا علي قدر استطاعتي ان ما كنت انا غلطانDesktop.rarDesktop.rar

شارك هذه المشاركه


رابط المشاركه
شارك
الان, حلبي said:

بعد اذن استاذنا العزيز / محمد ايمن

اخي الاستاذ / علي الكعبي 

اعتقد ان المشكلة تكمن في الكود الموجود في النموذج "FRMmainlogin "  في حدث عند التحميل 

احذف هذا الكود تجد الاتصال بالقاعدة دون مشاكل 

انظر المرفق 

هذا علي قدر استطاعتي ان ما كنت انا غلطانDesktop.rarDesktop.rar

طيب استاذي بعد تحديد المسار المفروض يتم حفظه وتختفي نموذج الربط عند فتح البرنامج مره ثانية ولايظهر الى في حال تغيير مسار قاعدة البيانات

الان, حلبي said:

بعد اذن استاذنا العزيز / محمد ايمن

اخي الاستاذ / علي الكعبي 

اعتقد ان المشكلة تكمن في الكود الموجود في النموذج "FRMmainlogin "  في حدث عند التحميل 

احذف هذا الكود تجد الاتصال بالقاعدة دون مشاكل 

انظر المرفق 

هذا علي قدر استطاعتي ان ما كنت انا غلطانDesktop.rarDesktop.rar

طيب استاذي بعد تحديد المسار المفروض يتم حفظه وتختفي نموذج الربط عند فتح البرنامج مره ثانية ولايظهر الى في حال تغيير مسار قاعدة البيانات

اويمكن من حيث خبرتكم يكون نموذج يعمل اتومتيكياً عند فتح البرنامج يقوم بعملية الارتباط بقاعدة البيانات اينما كانت بدون تدخل المستخدم بحيث يتكون هذا النموذج من شريط جاري الاتصال بقاعدة البيانات

1 شخص اعجاب بهذا

شارك هذه المشاركه


رابط المشاركه
شارك

ليس الأمر صعبا إذا تم الدخول عليه من بابه!

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

.. المكون هو [TableDef] يعيد هذا المكون مصفوفة بجداول البيانات المرتبطة وغير المرتبة بما فيها جداول النظام.

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

هذه القيمة يمكن إعادة تخصيصها.

.. إذا قلنا أن [TableDef] يعيد مصفوفة بالجداول فنحن إذا بحاجة دوارة غرضية تعيد جميع الجداول لفحصها هل هي مرتبطة أم لا؟

.. إذا كانت مرتبطة.. هل الرابط سليم أم معطوب؟

.. إذا كان معطوبا.. هل يمكن إصلاحه تلقائيا أم يحتاج إلى تدخل من قبل المستخدم؟

__ إشكالية!!

هل مصدر البيانات واحد أو متعدد؟ وهل هو من نوع واحد أو متعدد؟

__ للمعلومية

يقوم أكسس بتخزين  خصائص هذا المكون، والمكونات الأخرى في جدول من جداول النظام يسمى [MSysObjects] وهذا يعني أن القيم التي يُعاد تخصيصها تبقى ثابته.

__ لطيفة

إذا كان مصدر البيانات موحدا فيمكن فحص قيمة الاتصال باستخدام الوظيقة [DLookup] لإعادة أول سجل يحمل اسم ومسار قاعدة البيانات للجداول المرتبطة؛ ومن ثم نمرر الناتج على التابع  [Dir] هذا التابع يعيد اسم الملف إذا المسار إليه صحيحا ويعيد قيمة خالية إذا كان معطوبا!

__ التطبيق

.. أليك طرف الخيط

Sub LINK_TABLE(Optional LINK_DIR As String)
    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Set dbs = CurrentDb()
    If Not Len(LINK_DIR) Then
        LINK_DIR = XDEF_PATH
    End If
'-- Loop through TableDefs collection, only processing _
'-- the table if it already has a Connection property. _
'-- (all other tables are local ... not linked)
    For Each tdf In dbs.TableDefs
      If tdf.Connect <> "" Then
          LD = Mid(tdf.Connect, InStr(tdf.Connect, "\DATA"))
          tdf.Connect = ";DATABASE=" & LINK_DIR & LD
          tdf.RefreshLink
      End If
    Next
End Sub

 

تم تعديل بواسطه أبو إبراهيم الغامدي
1 شخص اعجاب بهذا

شارك هذه المشاركه


رابط المشاركه
شارك
10 ساعات مضت, علي محمد الكعبي said:

لو كان لي خلفية ماطرحت الموضوع واليك المثال

مجلد جديد ‫‬.rar

إليك التعديل إذا.. أرجو أن يحقق بعض ما تطلب

بعد التجربة الأولى غير اسم المجلد لترى الفرق

LINK_TABLE.zip

شارك هذه المشاركه


رابط المشاركه
شارك
11 ساعات مضت, أبو إبراهيم الغامدي said:

ليس الأمر صعبا إذا تم الدخول عليه من بابه!

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

.. المكون هو [TableDef] يعيد هذا المكون مصفوفة بجداول البيانات المرتبطة وغير المرتبة بما فيها جداول النظام.

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

هذه القيمة يمكن إعادة تخصيصها.

.. إذا قلنا أن [TableDef] يعيد مصفوفة بالجداول فنحن إذا بحاجة دوارة غرضية تعيد جميع الجداول لفحصها هل هي مرتبطة أم لا؟

.. إذا كانت مرتبطة.. هل الرابط سليم أم معطوب؟

.. إذا كان معطوبا.. هل يمكن إصلاحه تلقائيا أم يحتاج إلى تدخل من قبل المستخدم؟

__ إشكالية!!

هل مصدر البيانات واحد أو متعدد؟ وهل هو من نوع واحد أو متعدد؟

__ للمعلومية

يقوم أكسس بتخزين  خصائص هذا المكون، والمكونات الأخرى في جدول من جداول النظام يسمى [MSysObjects] وهذا يعني أن القيم التي يُعاد تخصيصها تبقى ثابته.

__ لطيفة

إذا كان مصدر البيانات موحدا فيمكن فحص قيمة الاتصال باستخدام الوظيقة [DLookup] لإعادة أول سجل يحمل اسم ومسار قاعدة البيانات للجداول المرتبطة؛ ومن ثم نمرر الناتج على التابع  [Dir] هذا التابع يعيد اسم الملف إذا المسار إليه صحيحا ويعيد قيمة خالية إذا كان معطوبا!

__ التطبيق

.. أليك طرف الخيط


Sub LINK_TABLE(Optional LINK_DIR As String)
    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Set dbs = CurrentDb()
    If Not Len(LINK_DIR) Then
        LINK_DIR = XDEF_PATH
    End If
'-- Loop through TableDefs collection, only processing _
'-- the table if it already has a Connection property. _
'-- (all other tables are local ... not linked)
    For Each tdf In dbs.TableDefs
      If tdf.Connect <> "" Then
          LD = Mid(tdf.Connect, InStr(tdf.Connect, "\DATA"))
          tdf.Connect = ";DATABASE=" & LINK_DIR & LD
          tdf.RefreshLink
      End If
    Next
End Sub

 

احسنت بارك الله فيك

ليتنا نقتدي بمثل هذا الطرح

مثلك من ينطبق عليه : قم للمعلم وفه التبجيلا ..

شارك هذه المشاركه


رابط المشاركه
شارك
58 دقائق مضت, ابوخليل said:

احسنت بارك الله فيك

ليتنا نقتدي بمثل هذا الطرح

مثلك من ينطبق عليه : قم للمعلم وفه التبجيلا ..

لله الفضل والمنه

أشكرك أيا خليل على ثناءك ومرورك .. وأرجو أن يقع ثناءك في محلة.

 

 

تم تعديل بواسطه أبو إبراهيم الغامدي

شارك هذه المشاركه


رابط المشاركه
شارك
الان, أبو إبراهيم الغامدي said:

إليك التعديل إذا.. أرجو أن يحقق بعض ما تطلب

بعد التجربة الأولى غير اسم المجلد لترى الفرق

LINK_TABLE.zip

الرابط لايعمل

الان, محمد ايمن said:

تفضل اخي الكريم

سؤال على الهامش _ هل هذا البرنامج من تصميمك ؟؟؟

2222.rar

نعم مع بعض الجواء لبعض قواعد البيانات التي تهدف لعمل برنامج صادر ووارد يعمل على شبكة محلية لعدة مستخدمين حسب الصلاحيات

شارك هذه المشاركه


رابط المشاركه
شارك
الان, أبو إبراهيم الغامدي said:

اعتذر إليكم.. هذا الرابط

LINK_TABLE.zip

يعطي هذه الرسالة لماذا 

mmmm.PNG

وهل يعمل التعديل الذي ارفقتة على شبكة محلية بدون مشاكل

ggg.PNG

شارك هذه المشاركه


رابط المشاركه
شارك

أعتذر إليك عن عدم تمكنك من تشغيل المثال على جهازك..

جهازي يعمل على إصدار 2007

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

قمت بإنشاء قاعدة بيانات جديدة تحتوي فقط على المكونات التي تستخدم في المثال؛ محاولة مني استبعاد أي افتراض يؤدي إلى عدم تجواب المثال مع إصدارك.,

المرفق مرة أخرى

LINK_TABLE.zip 

تم تعديل بواسطه أبو إبراهيم الغامدي

شارك هذه المشاركه


رابط المشاركه
شارك
الان, أبو إبراهيم الغامدي said:

أعتذر إليك عن عدم تمكنك من تشغيل المثال على جهازك..

جهازي يعمل على إصدار 2007

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

قمت بإنشاء قاعدة بيانات جديدة تحتوي فقط على المكونات التي تستخدم في المثال؛ محاولة مني استبعاد أي افتراض يؤدي إلى عدم تجواب المثال مع إصدارك.,

المرفق مرة أخرى

LINK_TABLE.zip 

ماهو سبب ظهور هذه الرسالة

gh.PNG

شارك هذه المشاركه


رابط المشاركه
شارك

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

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

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

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


سجل حساب جديد

تسجيل دخول

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


سجل دخولك الان

  • المتواجدين الان   0 اعضاء متواجدين الان

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