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

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

قام بنشر

خلال تصفحي لانجاز الصديق @moosak في انجاز مكتبة الاكواد وجدت برنامج اكسس جاهز حول احضار " إحضار مسميات كائنات وعناصر أية قاعدة بيانات ( الجداول والاستعلامات والنماذج " وجدت ان اطرح طلب تطوير الفكرة بحيث يتم وضع كود لتصدير البيانات value list الى جدول يتم وضع فيه اسماء جداول قاعدة البيانات مع اسم قاعدة البيانات حيث لو كان لدينا اكثر من قاعدة خارجية نستفيد باستخراج قائمة باسماء الجداول مع اسماء قواعد البيانات الموجود فيها وبذلك يصبح لدينا فهرس ...

 

DBObjectsإحضار جميع عناصر قاعدة أخرى.rar

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

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

وكذلك هذا كود يحضر لك مسميات عناصر قاعدة البيانات اللي تشتغل عليها ويطبعها في نافذة الـ Immediate window  .. لكن مع تعديل بسيط في الكود يمكن تصديرها للجدول .

Sub AllContentsReport()
''my first, simplest code'''''''''''''''''''''''''''
''drawback: tables and queries in the same container
''therefore, then I skipped 3 containers
''1- containers for forms/reports/modules/macros
''2 -tabledefs for tables
''3 -querydefs for queries
Dim dbs As DAO.Database
Dim doc As DAO.Document
Dim cont As DAO.Container

Set dbs = CurrentDb
For Each cont In dbs.Containers
Debug.Print "Container:"; cont.Name, "---------------"
For Each doc In cont.Documents
If doc.Name Like "msys*" Or doc.Name Like "~*" Then
Else
Debug.Print doc.LastUpdated, doc.Name
End If
Next doc
Next cont
''''''''''''''''''
Dim tbl As DAO.TableDef
Dim que As QueryDef
''''''''''''''''''
Debug.Print "TableDefs:-------------------------"
For Each tbl In dbs.TableDefs
If tbl.Name Like "msys*" Or tbl.Name Like "~*" Then
Else
Debug.Print "~~"; tbl.Name, tbl.Connect & ""
End If
Next tbl
''''''''''''''''''
Debug.Print "queryDefs:-------------------------"
For Each que In dbs.QueryDefs
If que.Name Like "~*" Then
Else
Debug.Print "~~"; que.Name, "-------------------------"
Debug.Print que.SQL
End If
Next que
End Sub

 

تم تعديل بواسطه Moosak
  • Like 1
قام بنشر

نتمنى تعديل الكود في المرفق مع طلب الشرح في حال امكن ذلك من باب التعلم ان كان وقتكم يتسع لذلك@Moosak

 

قام بنشر

أهلا بك أخي قاسم 🙂 

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

image.png.7009f37a40bdccad97206a6289655818.png

التعديلات التي تمت كالتالي :

1 - أضفت جدول من حقلين : ( نوع العنصر ، واسم العنصر )

2 - أضفت جملة ال SQL  التالية إلى الكود :

CurrentDb.Execute "Insert Into Tbl_DBContent(Type, sName) values ('" & objectName & "','" & rs!Name & "');"

    وظيفتها أن تضيف كل عنصر تأتي به إلى الجدول وتكتب نوعه 🙂 

3 - أحضرت الجدول إلى النموذج الرئيسي على شكل نموذج فرعي لعرض البيانات .

4 - زر ( به أمر ماكرو ) لتصدير بيانات الجدول  إلى الصغية التي تريدها ..

 

هذا والسلام 🙂 

DBObjectsإحضار جميع عناصر قاعدة أخرى.rar

  • Like 1
قام بنشر

حسب ما تعلمت منك اخي موسى @Moosak تم استخدام امر insert into بهدف أضافة قيمة إلى جدول tbl_dbcontent لعنوانين :

type و Sname من object name و rename

اتمنى توضحلي اذا قرئت الكود صح ...

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

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

 

7 ساعات مضت, Moosak said:
CurrentDb.Execute "Insert Into Tbl_DBContent(Type, sName) values ('" & objectName & "','" & rs!Name & "');"

نعم أخي قاسم يمكننا قراءة الجملة هكذا  :

أضف إلى                                    Insert Into

الجدول التالي ...                    Tbl_DBContent

تحديداً الحقلين التاليين ..          (Type, sName)

والقيم المراد إضافتها بالتتالي                 values           

القيم هي :                 objectName , rs!Name              حيث أن objectName  هو اسم متغير أخزن فيه نوع العنصر       و   rs!Name   هو اسم العنصر حسب مصدر السجلات

---------------------------------------------------------------

و التنسيق الصحيح الذي نضع عليه المتغيرات في الكود هكذا :     

;values ( ' " & objectName & " ',' " & rs!Name & " ' )

وضعنا علامة التنصيص المفردة حوالي المتغيرات ( ' ) لأنهما من نوع نص .. ولو كانا من نوع تاريخ نستبدلهما بــ ( # ) .. أما لو كانا من نوع رقم فنحذفهما ولا يوضع شي مكانهما ..

تم وضع المتغير بين علامتي التنصيص (" ") والرمز &  لأن المتغير (من اسمه فإن قيمته تتغير غير ثابته ) لذلك نخرجه من الجملة ذات القيمة الثابتة بهذه الطريقة: 

            " &       objectName      & "

 

هذا درس على السريع ..  بالتوفيق 🙂 

 

تم تعديل بواسطه Moosak
  • Like 1
  • Thanks 1
قام بنشر

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

قام بنشر

@rockjone33 هل بالإمكان ان يكون اسم قاعدة البيانات تلقائي من المسار مباشر فلو كانت قاعدة البيانات DBtest.acccdb يتم تعريف اسم قاعدة البيانات الذي يكتب يدويا فيسجل DBtest مع وضع زر للسماح بالتعديل عند الحاجة

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

صدقا روعة @rockjone33 ....

لدي استفسار اذا سمحت حول ظهور داخل قائمة الجداول table : جدول يبدأ ب f_ggdhkhtukh1347.data

في كل قاعدة بيانات يظهر جدول لم يتم انشائه يدويا ... ممكن توضيح ... 

وحصل معي هذة المشكلة

IMG-20220902-WA0083.jpg

تم تعديل بواسطه kassem_geo
طلب معالجة مشكلة
  • Like 1

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