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

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

قام بنشر

السلام عليكم

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

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

الى هنا الامر عادي وتمام

المشكلة :

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

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

اريد الارتباط بالجداول التي تخص هذه الواجهة فقط

بعض الواجهات تحتوي على 3 او 4 جداول وبعضها على اكثر من 10 جداول

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

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

ملحوظة : جميع الجداول تبدأ بالبادئة : tbl

قام بنشر

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

 

10 دقائق مضت, ابوخليل said:

معرفة أسماء الجداول المرتبطة


لمعرفة اسماء الجداول المرتبطة

Sub ListLinkedTables()
    Dim db As dao.Database
    Dim tdf As TableDef
    Dim tableName As String
    Dim linkedTables As String

    Set db = CurrentDb
    
    linkedTables = "Linked Tables:" & vbCrLf
    
    For Each tdf In db.TableDefs
        If Len(tdf.Connect) > 0 Then
            tableName = tdf.Name
            If Left(tableName, 3) = "tbl" Then
                linkedTables = linkedTables & tableName & vbCrLf
            End If
        End If
    Next tdf
    MsgBox linkedTables
End Sub

 

ولمعرفة اسماء الجدول واسم القاعدة الخلفية لكل جدول 

Sub ListLinkedTablesWithDBName()
    Dim db As dao.Database
    Dim tdf As TableDef
    Dim tableName As String
    Dim linkedTables As String
    Dim dbPath As String

    Set db = CurrentDb
    
    linkedTables = "Linked Tables and Database Names:" & vbCrLf
    
    For Each tdf In db.TableDefs
        If Len(tdf.Connect) > 0 Then
            tableName = tdf.Name
            If Left(tableName, 3) = "tbl" Then
                dbPath = tdf.Connect
                dbPath = Mid(dbPath, InStrRev(dbPath, "\") + 1)
                linkedTables = linkedTables & "Table: " & tableName & ", Database: " & dbPath & vbCrLf
            End If
        End If
    Next tdf
    MsgBox linkedTables
End Sub

 

قام بنشر

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

قبل الحذف عمل الاتى 

حذف جدول تمب اسماء الجدول 

اضافة اسماء الجداول والقواعد كل فى حقل على حده وان اردت كذلك ممكن مسار كل قاعدة 

حذف الجداول 

وعند اعادة الربط البرمجى تعتمد على جدول التمب هذا  وان كان جدول التمب فارغ

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

انا قدرا اعمل على مشروع مشابه لهذه الافكار فى الوقت الراهن :biggrin2::yes: لذلك كانت الاكواد جاهزة سبحان الله 

والله كاتبها قبل قليل

وهذه الوظيفة الشاملة لاسماء الجدول واسم القاعدة لكل جدول والمسار لكل قاعدة

Sub ListLinkedTablesWithDBNameAndPath()
    Dim db As dao.Database
    Dim tdf As TableDef
    Dim tableName As String
    Dim linkedTables As String
    Dim dbPath As String
    Dim dbName As String

    Set db = CurrentDb
    
    linkedTables = "Linked Tables, Database Names, and Paths:" & vbCrLf
    
    For Each tdf In db.TableDefs
        If Len(tdf.Connect) > 0 Then
            tableName = tdf.Name
            If Left(tableName, 3) = "tbl" Then
                dbPath = tdf.Connect
                
                dbName = Mid(dbPath, InStrRev(dbPath, "\") + 1)
                
                linkedTables = linkedTables & "Table: " & tableName & ", Database: " & dbName & ", Path: " & dbPath & vbCrLf
            End If
        End If
    Next tdf
    
    MsgBox linkedTables
End Sub

 

قام بنشر

ون اردت يا والدى الحبيب واستاذى الجليل ومعلمى القدير ارفق لكم مثال يقوم بعمل الاتى

من خلال زر امر استعراض مستكشف الملفات

اختيار قاعدة البيانات الخلفيه

وان كان لها كلمة مرور تكتبها فى النموذج والا تترك مكان كلمة المرور فارغ

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

وتختار ما تريد

وتضغط على زر استيراد على ان تكون جداول مرتبطة للقاعدة الحالية :wink2:

انتهيت منه الان وجارى التجربة

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

قام بنشر

اهلا ابا جودي ..  

يا سلام .. اسند الأمر لأهله

 

19 دقائق مضت, ابو جودي said:

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

قبل الحذف عمل الاتى 

حذف جدول تمب اسماء الجدول 

اضافة اسماء الجداول والقواعد كل فى حقل على حده وان اردت كذلك ممكن مسار كل قاعدة 

حذف الجداول 

وعند اعادة الربط البرمجى تعتمد على جدول التمب هذا  وان كان جدول التمب فارغ

 

 

هو انا حذفت وخلاص :

اذا اردت تطبيق الفكرة يجب علي ان اعيد التشكيل من جديد

ما دمت تعمل في هذا الطريق .. هل تنصحني بأن ارتب عملي من جديد ؟

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

ما دمت تعمل في هذا الطريق .. هل تنصحني بأن ارتب عملي من جديد ؟


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

وتسهيلا على فيما هو ات بعد ذلك اعيد ترتيب افكارى

وبدات بالمرفق التالى 

 

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

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

ولازالت الافكار تتسارع :wallbash:

ImportLinkedTable.accdb

قام بنشر

.. اهنئك على فكرك النير .. 

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

قلت يمكن اجد خبير يستخلص لي هذه الاسماء من خصائص الكائنات او اذا كانت موجودة في جداول النظام .

على كل حال ضبط العمل من البداية والاحتياط لجميع الاحتمالات مطلب مهم .

..........................

نأتي ابا جودي للمثال المرفق :

عمل ولا اجمل ويقدم خدمة عظيمة كلنا في حاجتها .

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

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

ما رأيك ان يتم كتابة الاسماء اليا بعيدة عن الجداول :blink:

هل يمكن كتابتها في ليبل مثلا او داخل المحرر .. مؤكد لن تتغير الجداول الا من خلال المبرمج ومن خلال عرض التصميم

 

  • Thanks 1
قام بنشر

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

اكثر من 50 قاعدة بيانات خلفيه للجداول

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

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

طبعا المرفق السابق سهل العملية كثيرا 

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

عمل جدول باسم UsystblLinked

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

 

7 دقائق مضت, ابوخليل said:

يتم كتابة الاسماء اليا بعيدة عن الجداول :blink:

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

قام بنشر

حسب حاجتك انت في الطريق السليم

خطواتك صح

انا عكس الحالة التي انت فيها

قاعدة الجداول واحدة .. والواجهات متعددة

  • Thanks 1
قام بنشر
24 دقائق مضت, ابوخليل said:

هل يمكن كتابتها في ليبل مثلا او داخل المحرر .. مؤكد لن تتغير الجداول الا من خلال المبرمج ومن خلال عرض التصميم

 

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

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

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

قام بنشر

تسلم .. لا لا .. يمكنني عمل ذلك فهو يسير ..

عملك اهم .. 

هل اسماء الجداول في قواعد البيانات لديك متشابهة؟

اذا نعم .. فأنت ملزم بتنفيذ فكرتك

حتى لو لم تتشابه حيث ان لديك اكثر من قاعدة وانت ملزم بالارتباط بها بالاسم والمسار

من رأى مصيبة غيره هانت عليه مصيبته .. كان الله في عونك

 

  • Thanks 1
قام بنشر
53 دقائق مضت, ابوخليل said:

كان سؤالي : هل يمكنني معرفة اسماء الجداول بعد الحذف

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

32 دقائق مضت, ابوخليل said:

عملك اهم .. 

لا يوجد من او ما هو اهم منكم انا تركت كل شئ بمجرد ان وجدت اشعارا بموضوعكم

انتم اولا ثم تأتى الدنيا كلها وما فيها بعدكم ولا اهم لى او عندى منكم اسال الله تعالى ان يديم عليكم الصحة والعافية والسعادة والهناء

قام بنشر

استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل :fff:

 

جرب كده الكود التالى فى استخراج اسماء الجدول بعد الحذف

Sub ExtractTablesFromObjects()
    ' Declare necessary variables
    Dim db As DAO.Database
    Dim qry As QueryDef
    Dim frm As Access.Form
    Dim rpt As Report
    Dim ctrl As Control
    Dim obj As Object ' Use for iterating through Access objects
    Dim objName As Variant
    Dim tablesList As String
    Dim source As String
    Dim matches As Object
    Dim tableRegex As String

    ' Enable error handling
    On Error GoTo ErrorHandler

    ' Initialize the regular expression pattern for extracting table names
    tableRegex = "tbl\w+"
    
    ' Set the database object
    Set db = CurrentDb
    
    ' Initialize a dictionary to store unique table names
    Set matches = CreateObject("Scripting.Dictionary")
    
    ' Initialize the results string
    tablesList = "Extracted Tables from Database Objects:" & vbCrLf & vbCrLf

    ' Process queries to extract table names
    For Each qry In db.QueryDefs
        If Len(qry.SQL) > 0 Then
            source = qry.SQL
            Call ExtractTableNames(source, tableRegex, matches, "Query: " & qry.Name)
        End If
    Next qry

    ' Process forms to extract table names
    For Each obj In CurrentProject.AllForms
        objName = obj.Name
        DoCmd.openForm objName, acDesign, , , , acHidden ' Open the form in design mode
        Set frm = Forms(objName)
        source = frm.RecordSource
        If Len(source) > 0 Then
            Call ExtractTableNames(source, tableRegex, matches, "Form: " & objName)
        End If

        ' Process controls within the form
        For Each ctrl In frm.Controls
            If ctrl.ControlType = acComboBox Or ctrl.ControlType = acListBox Then
                source = ctrl.RowSource
                If Len(source) > 0 Then
                    Call ExtractTableNames(source, tableRegex, matches, "Form: " & objName & " (Control: " & ctrl.Name & ")")
                End If
            End If
        Next ctrl
        DoCmd.Close acForm, objName, acSaveNo ' Close the form without saving
    Next obj

    ' Process reports to extract table names
    For Each obj In CurrentProject.AllReports
        objName = obj.Name
        DoCmd.openReport objName, acDesign, , , acHidden ' Open the report in design mode
        Set rpt = Reports(objName)
        source = rpt.RecordSource
        If Len(source) > 0 Then
            Call ExtractTableNames(source, tableRegex, matches, "Report: " & objName)
        End If
        DoCmd.Close acReport, objName, acSaveNo ' Close the report without saving
    Next obj

    ' Display the results in a message box and print to Immediate Window
    If matches.Count > 0 Then
        For Each objName In matches.Keys
            tablesList = tablesList & matches(objName) & vbCrLf
            Debug.Print matches(objName) ' Print each result to Immediate Window
        Next objName
    Else
        tablesList = "No tables were found in the database objects."
        Debug.Print "No tables were found in the database objects." ' Print a no-result message
    End If

    MsgBox tablesList, vbInformation, "Extracted Tables"
    Exit Sub

ErrorHandler:
    ' Handle any errors
    MsgBox "An error occurred: " & Err.Description, vbExclamation, "Error"
End Sub

Sub ExtractTableNames(source As String, tableRegex As String, matches As Object, objectType As String)
    ' Declare necessary variables
    Dim regex As Object
    Dim match As Object

    ' Create a RegExp object for analyzing text
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = tableRegex
    regex.Global = True

    ' Search for table names using the RegExp
    If regex.Test(source) Then
        For Each match In regex.Execute(source)
            If Not matches.Exists(match.Value) Then
                matches.Add match.Value, objectType & " -> Table: " & match.Value
            End If
        Next match
    End If
End Sub



المفروض بعمل تشغيل الوظيفة : ExtractTablesFromObjects من محرر الاكواد تظهر اسماء الجداول فى رسالة وتتم طباعتها فى النافذه الفورية حتى بعد حذف الجدول

قام بنشر

الله يحفظك ويعزك .. غمرتني بلطف قولك .. وحسن ثنائك ودعائك ..

لا اعتقد انه يمكن الوصول الى اسماء الجداول بطريقة برمجية .. ,وهذا هو المرفق

 

قام بنشر

والدى الحبيب هذه تجربتى ومحاولتى

هذا ما حصلت عليه من الكود الذى قدمته لكم قبل قليل من مرفقكم الاخــــير

 

Query: ~sq_cCopy Of frmReports~sq_cs3 -> Table: tblsaf
Query: ~sq_cfrmBarPrint~sq_ct2 -> Table: tblGrPoinCount
Query: ~sq_cfrmcomIn~sq_cname1 -> Table: tblnames
Query: ~sq_cfrmcomIn5~sq_cname1 -> Table: tblNames
Query: ~sq_cfrmcomIn5~sq_cqama -> Table: tblSaf
Query: ~sq_cfrmEshtrakatNotic~sq_cCombo15 -> Table: tblEshtrakatType
Query: ~sq_cfrmEshtrakatNotic~sq_ceshOffres -> Table: tblEshtrakatOffres
Query: ~sq_cfrmlog~sq_cgateNm -> Table: tblMsgGate
Query: ~sq_cfrmNames~sq_cJensya -> Table: tbljensya
Query: ~sq_cfrmNames~sq_cãÑÈÚ_ÊÍÑíÑ_æÓÑÏ187 -> Table: tblAdres
Query: ~sq_cfrmOrderItem~sq_cItmDesc -> Table: tblOrderItem
Query: ~sq_cfrmsecurity~sq_ccompname -> Table: tblUsers
Query: ~sq_ffrmEshtrakatNotic -> Table: tblEshtrakatTsdeed
Query: ~sq_ffrmNmadg -> Table: tblNmadg
Query: ~sq_ffrmOrdersIn -> Table: tblOrderDetails
Query: ~sq_ffrmRaes -> Table: tblRaese
Query: ~sq_rRepHdorTfseelStud -> Table: tblcomInX
Query: QPointCritrDate -> Table: tblPoints
Query: Qpointes -> Table: tblGrPoin
Query: Qtsmyh -> Table: tbltsmyah

هل النتيجة صحيحة ام هناك جداول لم تأتى اسمائها ؟؟

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

جرب احذف الاستعلامات ثم اعد تنفيذ الكود

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

Query: ~sq_cCopy Of frmReports~sq_cs3 -> Table: tblsaf
Query: ~sq_cfrmBarPrint~sq_ct2 -> Table: tblGrPoinCount
Query: ~sq_cfrmcomIn~sq_cname1 -> Table: tblnames
Query: ~sq_cfrmcomIn5~sq_cname1 -> Table: tblNames
Query: ~sq_cfrmcomIn5~sq_cqama -> Table: tblSaf
Query: ~sq_cfrmEshtrakatNotic~sq_cCombo15 -> Table: tblEshtrakatType
Query: ~sq_cfrmEshtrakatNotic~sq_ceshOffres -> Table: tblEshtrakatOffres
Query: ~sq_cfrmlog~sq_cgateNm -> Table: tblMsgGate
Query: ~sq_cfrmNames~sq_cJensya -> Table: tbljensya
Query: ~sq_cfrmNames~sq_cمربع_تحرير_وسرد187 -> Table: tblAdres
Query: ~sq_cfrmOrderItem~sq_cItmDesc -> Table: tblOrderItem
Query: ~sq_cfrmsecurity~sq_ccompname -> Table: tblUsers
Query: ~sq_ffrmEshtrakatNotic -> Table: tblEshtrakatTsdeed
Query: ~sq_ffrmNmadg -> Table: tblNmadg
Query: ~sq_ffrmOrdersIn -> Table: tblOrderDetails
Query: ~sq_ffrmRaes -> Table: tblRaese
Query: ~sq_rRepHdorTfseelStud -> Table: tblcomInX
 

6 دقائق مضت, ابوخليل said:

يمكن الاعتماد على هذا الكود عند الحاجة

الحمد لله ... لله الفضل والحمد والمنه

هل تريد اى شئ أخر يا استاذى الجليل ومعلمى القدير و والدى الحبيب :fff:

  • Thanks 1
قام بنشر

جميل جدا .. جزاك الله خيرا

انتهت مشكلتي

يمكنني الآن معرفة جداول كل ملف ..

وسأعمل على حفظ الاسماء .. وسأضعها في ليبل في  في الفورم الهدية

يا سلام .. سأدرج هذا الفورم في جميع الواجهات .. ولما اريد ربط الجداول من جديد وانقر على زر اظهار الجداول ؛ يظهر الليبل :signthankspin:

الف شكر اخي وحبيبي في الله اباجودي

  • Thanks 1
قام بنشر

بل جزاكم الله انتم كل الخير فى الدنيا والاخرة بكل حرف تعلمنا ولازلنا نتعلمه منكم وعلى اياديكم المباركة:fff:

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

انا وافكارى وكل ما املك ملك يمينكم :yes:

ومن يشكر من يا استاذى الجليل ويا معلمى القدير  و والدى الحبيب لولاكم  ولولا فضل الله تعالى لما كنا هنا :yes:

اسال الله تعالى ان يبارك لكم فى عمركم وعلمكم وعملكم واهلكم و ولدكم :fff:

احبكم فى الله ولله :wub:

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

سأدرج هذا الفورم في جميع الواجهات .. ولما اريد ربط الجداول من جديد وانقر على زر اظهار الجداول ؛ يظهر الليبل :signthankspin:

وبما انى صعيدى ومش قادر افهم قصد حضرتك :biggrin2:

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

قام بنشر
6 ساعات مضت, ابو جودي said:

وبما انى صعيدى ومش قادر افهم قصد حضرتك :biggrin2:

آه منك .. انت فاهم .. وعارف ان الطريق مغلق وسوف اعود اليك

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

لذا رجعت واخذت بفكرتك :

8 ساعات مضت, ابو جودي said:

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

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

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

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

في مثالك وهديتك الجميلة :

عملت فورم صغير يحتوي على زر مهمته نسخ اسماء الجداول المرتبطة وقواعدها الى جدول النظام ( هذا الفورم يخص المبرمج فقط)

واضفت زر في فورم  ربط الجداول يعرض رسالة بالجداول المرتبطة وقواعد بياناتها

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

Downloads.rar

  • Thanks 1
قام بنشر

ابو جودي .. خطر على بالي (محذور) وأنا اتصور او اتخيل مشروعك .. 

لديك الكثير من الواجهات وقاعدة الجداول واحدة

كل واجهة لها جزء من هذه الجداول وقد تشترك اكثر من جهة في جدول واحد

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

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

................

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

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

 ان يكون العمل محكم من جميع الجوانب مطلب مهم

  • Like 1
قام بنشر

طبعا لن انسب العمل لي فالفضل لله ثم لك

هو عملك وتعبك .. مثالك هو عبارة عن مشروع قائم بذاته

اضفت سطرين فقط ضمن كود جلب الجداول

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

ملحوظة : يجب التعامل مع زر حذف اسماء الجداول من جدول النظام بحذر .. يعني لا يتم حذف المسجل سابقا الا والجداول مرتبطة فعلا وموجودة .. من اجل نسخها مرة اخرى فيما لو تم زيادتها او انقاصها .

اما مشروعك فمختلف عني .. بقي لك خطوة وهي جلب الجداول آليا من قواعدها استنادا الى اسم القاعدة في جدول النظام

........................

لن نكسب العلم الا بمزاحمة العلماء

بارك الله فيك وزادك علما ورفعة

 

linked.rar

قام بنشر

وهاكم افكارى المتواضعة التى كنت اخطط لها 

لا يوجدى جداول اساسا 

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

قم بالتجربة بتحديد والتاشير على قاعدة بيانات تخص الجداول

مثلا اختر الجدول او / عدة الجداول التى تريد استرادها على انها مرتبطة بهذه الواجهة الامامية

قم بالضغط على زر الربط والاستيراد وانظر الى الذى سوف يتم بشكل آلى دون ادنى عناء وبدون حتى اى تدخل من المستخدم ولا المبرمج مستقبلا حتى

فى انتظار ردكم بعد تجربتكم

وانا حالا سوف انظر الى الدرر فى مرفقكم 

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