• 0
bakkar2000

[ تمت الإجابة ]تعديل على كود إخفاء وإظهار الجداول ؟

سؤال

post-148704-1240947325_thumb.gif

أخوانى قامت الأخت زهره بعمل برنامج يقوم بإظهار وإخفاء الجداول فى قاعده بيانات خارجية

post-148704-1240947992_thumb.png

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

وهذا تحويل كود الإخفاء عند التحميل برجاء تحويل كود الإظهار بنفس الأسلوب

Private Sub Form_Load()

Dim db As Database

Dim obj As AccessObject, DBS As Object

Dim tdf As TableDef

Set DBS = Application.CurrentData

Set db = CurrentDb

For Each obj In DBS.AllTables

Set tdf = db.TableDefs(obj.Name)

If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 Then

tdf.Attributes = tdf.Attributes + dbHiddenObject

End If

Next

Set tbl = Nothing

db.close

Set db = Nothing

End Sub

و هذا الكود المراد تحويلة لإظهار الجداول عند الغلق

Function zEnabledTables()

On Error GoTo MyErr

Dim strPath As String

strPath = Me.txtPath

Dim FrontObj As AccessObject, FrontDB As Object

Set FrontDB = Application.CurrentData

For Each FrontObj In FrontDB.AllTables

If Left(FrontObj.Name, 4) <> "MSys" Then

DoCmd.DeleteObject acTable, FrontObj.Name

End If

Next FrontObj



Dim BackObj As TableDef, BackDB As Database

Set BackDB = DBEngine.Workspaces(0).OpenDatabase(strPath, True, False)

For Each BackObj In BackDB.TableDefs

If Left(BackObj.Name, 4) <> "MSys" Then

BackObj.Attributes = 0

End If

Next BackObj



Set FrontDB = Nothing

Set BackDB = Nothing



MyErr:

If Err.Number <> 0 Then

MsgBox Err.Number & " - " & Err.Description

End If



End Function

وهذا هو البرنامج فى المرفقات

zaHidden_EnabledExtTables.rar

خالص تحياتى

تم تعديل بواسطه bakkar2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

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

ضع هذا الكود في حدث عند التحميل للنموذج ( سيقوم الكود بإخفاء الجداول )

Private Sub Form_Load()
Dim db As Database
Dim obj As AccessObject, DBS As Object
Dim tdf As TableDef
Set DBS = Application.CurrentData
Set db = CurrentDb
For Each obj In DBS.AllTables
Set tdf = db.TableDefs(obj.Name)
If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 Then
tdf.Attributes = tdf.Attributes + dbHiddenObject
End If
Next
Set tbl = Nothing
db.Close
Set db = Nothing
End Sub

ضع هذا الكود في حدث عند الإغلاق للنموذج ( سيقوم الكود بإظهار الجداول )

Private Sub Form_Close()
Dim DBS As Database, tdf As TableDef
Set DBS = CurrentDb
For Each tdf In DBS.TableDefs
If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 And tdf.Attributes = 1 Then
tdf.Attributes = tdf.Attributes - dbHiddenObject
End If
Next tdf
Set DBS = Nothing
End Sub

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

post-148704-1241002034_thumb.gif

post-148704-1241002069_thumb.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

post-148704-1241032823_thumb.gif

أستاذه / زهره  السلام عليكــم ورحمـة الله وبركاتــه ،، أسف جداً على فتح الموضوع مره أخر

الأكواد التى تفضلتى بها غاية فى الروعة وقد قمت بوضعها فى أحد نماذج القاعده ولكنى كنت مخطىء 

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

ولكن لم أعرف أين أضع الأكواد وما هى الطريق الصحيحة لذلك

فما أريده هو

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

* قبل ربط البيانات وبعد تحديد المسار فالنفرض أن الجداول السابقه التى فى قاعده النماذج تم إخفائها بنفس هذه الأكواد

و قبل حذف الجداول وربطها أريد إظهارها أولاً لكى يتم حذف الجداول القديمة ثم إعاده الربط ثم بعد ربطها يتم إخفائها مره أخرى

حاولت ولكنى لم أوفق فى تحديد مكان وضع الأكواد

أســــــــــــــــف مره أخرى

وهذا هو البرنامج

link2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

تم تعديل البرنامج بناء على طلبك

1. في حالة ان موقع الجداول المرتبطة صحيح فسيتم اخفاؤها وسيتم فتح النموذج الرئيسي ID

2. في حالة ان موقع الجداول المرتبطة تم تغييره فسيتم اولا عرض رسالة تخبرك ان " موقع قاعدة الجداول قد تم تغييره " وعند الضغط على موافق سيتم فتح نموذج اعادة الربط frm_Link_Table

3. عند فتح نموذج اعادة الربط سيتم إظهار الجداول المخفية

4. عند اختيار موقع ومسار قاعدة البيانات من جديد فإنه سيتم اولا حذف الجداول ثم سيتم اعادة الربط من جديد وفتح النموذج الرئيسي ID واخفاء الجداول مرة أخرى

Link_UP.rar

بالتوفيق

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

post-148704-1241194005_thumb.gif

أستاذه / زهره      السلام عليكــم ورحمـة الله وبركاتــه ،، 

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

إذا كنا نسأل وتجيبين   و نطلب وتعطين وتطلقين علينا كرماء    فماذا تكونين

أستاذتنا / زهــــــــــــــــــــــــره      يا أم الكرم

جارى التنزيل و سوف نوافيكم بالرد إن شـــــــــــــاء الله

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

post-148704-1241289405_thumb.gif

post-148704-1241289496_thumb.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك وفي جهودكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

تم تعديل البرنامج بناء على طلبك

1. في حالة ان موقع الجداول المرتبطة صحيح فسيتم اخفاؤها وسيتم فتح النموذج الرئيسي ID

2. في حالة ان موقع الجداول المرتبطة تم تغييره فسيتم اولا عرض رسالة تخبرك ان " موقع قاعدة الجداول قد تم تغييره " وعند الضغط على موافق سيتم فتح نموذج اعادة الربط frm_Link_Table

3. عند فتح نموذج اعادة الربط سيتم إظهار الجداول المخفية

4. عند اختيار موقع ومسار قاعدة البيانات من جديد فإنه سيتم اولا حذف الجداول ثم سيتم اعادة الربط من جديد وفتح النموذج الرئيسي ID واخفاء الجداول مرة أخرى

Link_UP.rar

بالتوفيق

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

الأخت الكريمة الاستاذة زهرة هل بوجد حل لمثل هذا الامر لتشغيله على اكسس 2010

جزاك الله كل خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

الاستاذة الفاضلة أم عهود

 

عهدنا بك انك لاترفضي مساعدة سائل

 

فهل لك لطفاً لا أمراً ان تتكرمي و تضعي مثالا كالسابق لكن ينطبق على اكسس 2010

 

جزاك الله كل خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .