اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم

 

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

 

هل هذا الامر قد مر عليكم وان كان كذلك فما هو الحل

 

تحياتي لكم

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

ماهو أمر الإغلاق الذي تستخدمه ؟؟

لإنهاء قاعدة البيانات بالكامل استخدم التالي

DoCmd.Quit

 

او استخدم الكود التالي

Dim DB As Object
dbPath = CurrentProject.FullName
Set DB = GetObject(dbPath)
DB.Application.Quit

 

تم تعديل بواسطه د.كاف يار
  • Like 1
قام بنشر (معدل)
46 دقائق مضت, د.كاف يار said:

ماهو أمر الإغلاق الذي تستخدمه ؟؟

لإنهاء قاعدة البيانات بالكامل استخدم التالي

DoCmd.Quit

 

او استخدم الكود التالي

Dim DB As Object
dbPath = CurrentProject.FullName
Set DB = GetObject(dbPath)
DB.Application.Quit

 

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

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

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

كلها تؤدي الى نتيجة واحدة تقوم بإغلاق و انهاء قاعدة البيانات

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

قام بنشر
3 ساعات مضت, د.كاف يار said:

كلها تؤدي الى نتيجة واحدة تقوم بإغلاق و انهاء قاعدة البيانات

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

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

قام بنشر
6 دقائق مضت, bumb said:

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

انسخ و الصقها مثل ماهي بدون تغيير 

Dim DB As Object
dbPath = CurrentProject.FullName
Set DB = GetObject(dbPath)
DB.Application.Quit

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

dbPath = CurrentProject.FullName

 

تفضل هذا المثال

 

Database2.mdb

  • Like 2
قام بنشر
22 دقائق مضت, bumb said:

ابي اعرف المتغير dbPath اخليه As ايش

ما يحتاج و لو حبيت تعلن عنه في النهاية هو String

منذ ساعه, د.كاف يار said:

انسخ و الصقها مثل ماهي بدون تغيير 

Dim DB As Object
dbPath = CurrentProject.FullName
Set DB = GetObject(dbPath)
DB.Application.Quit

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

dbPath = CurrentProject.FullName

 

تفضل هذا المثال

 

Database2.mdb 352 kB · 1 download

القي نظرة على المثال المرفق

هذاDatabase2.mdb

  • Thanks 1
قام بنشر
2 ساعات مضت, د.كاف يار said:

ما يحتاج و لو حبيت تعلن عنه في النهاية هو String

القي نظرة على المثال المرفق

هذاDatabase2.mdb

لم يفلح الامر بقي الاكسيس في الخلفية يعمل ولم يتم اغلاقه

يبدو لي ان القاعدة التي فيها الجداول لا تزال مفتوحة هل من كود يقول بإغلاق القاعدة المنفصلة اذا كانت تعمل

قام بنشر
1 ساعه مضت, bumb said:

لم يفلح الامر بقي الاكسيس في الخلفية يعمل ولم يتم اغلاقه

يبدو لي ان القاعدة التي فيها الجداول لا تزال مفتوحة هل من كود يقول بإغلاق القاعدة المنفصلة اذا كانت تعمل

استخدم الكود التالي و هو نفسه السابق مع تعديلات بسيطه

تختار قاعدة البيانات المطلوب اغلاقها

Dim DB As Object
Dim Addfile As Object
Set Addfile = Application.FileDialog(3)
With Addfile
  .AllowMultiSelect = False
  .InitialFileName = ""
  .Filters.Clear
  .Filters.Add "Access From 2007", "*.accdb"
  .Filters.Add "Access From 2002 T0 2003", "*.mdb"
  If .Show = True Then
        Set DB = GetObject(Trim(.SelectedItems(1)))
        DB.Application.Quit
      Else
      Exit Sub
  End If
End With

 

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

Dim DB As Object
    Set DB = GetObject("ضع مسار قاعدة البيانات هنا فقط")
    DB.Application.Quit

 

هذه الجملة تعطيك مسار قاعدة البيانات الحالية

CurrentProject.Path

اذا لم ينج معك الأمر ارفق نسخة من برنامجك

  • Like 1
قام بنشر
On 8/1/2021 at 6:15 PM, bumb said:

السلام عليكم

 

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

 

هل هذا الامر قد مر عليكم وان كان كذلك فما هو الحل

 

تحياتي لكم

انتبه للكائنات في الاكواد .. اقصد

Set rs = Nothing

Set db = Nothing

قام بنشر
في ٣‏/٨‏/٢٠٢١ at 19:36, Eng.Qassim said:

انتبه للكائنات في الاكواد .. اقصد

 

Set rs = Nothing

 

Set db = Nothing

 

كيف اضع الكود هل اضعه في زر الاغلاق

في ٢‏/٨‏/٢٠٢١ at 12:36, د.كاف يار said:

استخدم الكود التالي و هو نفسه السابق مع تعديلات بسيطه

تختار قاعدة البيانات المطلوب اغلاقها

Dim DB As Object
Dim Addfile As Object
Set Addfile = Application.FileDialog(3)
With Addfile
  .AllowMultiSelect = False
  .InitialFileName = ""
  .Filters.Clear
  .Filters.Add "Access From 2007", "*.accdb"
  .Filters.Add "Access From 2002 T0 2003", "*.mdb"
  If .Show = True Then
        Set DB = GetObject(Trim(.SelectedItems(1)))
        DB.Application.Quit
      Else
      Exit Sub
  End If
End With

 

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

Dim DB As Object
    Set DB = GetObject("ضع مسار قاعدة البيانات هنا فقط")
    DB.Application.Quit

 

هذه الجملة تعطيك مسار قاعدة البيانات الحالية

CurrentProject.Path

اذا لم ينج معك الأمر ارفق نسخة من برنامجك

ممكن تضع الكود كاملاً في زر اغلاق حتى افهمه 

اكتب الكود فقط ولا ترفع مثال

قام بنشر
10 hours ago, bumb said:

كيف اضع الكود هل اضعه في زر الاغلاق

ممكن تضع الكود كاملاً في زر اغلاق حتى افهمه 

اكتب الكود فقط ولا ترفع مثال

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

قام بنشر
16 ساعات مضت, bumb said:

كيف اضع الكود هل اضعه في زر الاغلاق

ممكن تضع الكود كاملاً في زر اغلاق حتى افهمه 

اكتب الكود فقط ولا ترفع مثال

هذا هو الكود كامل

Dim DB As Object
    Set DB = GetObject("ضع مسار قاعدة البيانات هنا فقط")
    DB.Application.Quit

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

أو استخدم نفس الكود وصور رسالة الخطأ الي تظهر امامك

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

  • Like 1
قام بنشر
9 ساعات مضت, د.كاف يار said:

هذا هو الكود كامل

Dim DB As Object
    Set DB = GetObject("ضع مسار قاعدة البيانات هنا فقط")
    DB.Application.Quit

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

أو استخدم نفس الكود وصور رسالة الخطأ الي تظهر امامك

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

وضعت المسار في الكود واللي حصل ان الكود قام بفتح قاعدة البيانات 

لا بد من حل

اما من حيث رفع قاعدة البيانات فهذا صعب لأنها تحتوي على بيانات

لكن رح افرغ القاعدة من البيانات وأحاول رفعها

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

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

 

2.png

1.png

انتقل من نموذج الى اخر واضف بيانات ثم انظر بعد ذلك من خلال Task Manger

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

اضف بيانات واغلقت ولم اجده لا في قائمة المهام ولا في المجلد ..... انظر 

 

1.png

2.png

3.png

ابحث جيدا في قائمة التاسك وإن لم تجده ماهو السبب في ظنك

قام بنشر

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

هل من حل عند حبراء الاكسس

قام بنشر
منذ ساعه, د.كاف يار said:

امورك طيبة و بعد الاضافة و الاغلاق تكون القاعديتن مغلقة 

 

لقطة الشاشة 2021-08-10 150153.png

قام بنشر

هذي ما هي دلالة على ان نفس قاعدة البيانات هي التي تعمل

قد تكون فيه عمليات معلقة في سجل الأحداث سواء Temp h او غيره و بالتالي ستجد الحدث نشط

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

لذا بإمكان انك تستخدم حدث افراغ الكاش

قام بنشر
43 دقائق مضت, د.كاف يار said:

هذي ما هي دلالة على ان نفس قاعدة البيانات هي التي تعمل

قد تكون فيه عمليات معلقة في سجل الأحداث سواء Temp h او غيره و بالتالي ستجد الحدث نشط

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

لذا بإمكان انك تستخدم حدث افراغ الكاش

ممكن توضيح اكثر مع ذكر الطريقة 

تحياتي لك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information