الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه bakkar2000 في 28 أبريل 2009 · 9 رد · 2,714 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
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 في 28 أبريل 2009 في 23:04

#2

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

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

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
#3
post-148704-1241002034_thumb.gif

post-148704-1241002069_thumb.gif
#4
post-148704-1241032823_thumb.gif

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

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

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

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

فما أريده هو

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

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

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

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

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

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

link2.rar

#5

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

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

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

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

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

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

Link_UP.rar

بالتوفيق

1
#6

post-148704-1241194005_thumb.gif

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

اقتباس
تفضل اخي الكريم

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

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

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

 

#7
post-148704-1241289405_thumb.gif

post-148704-1241289496_thumb.gif
#8

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

#9
zahrah كتب:

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

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

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

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

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

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

Link_UP.rar

بالتوفيق

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

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

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

#10

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

 

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

 

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

 

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

 

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

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…