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

تصدير قائمة value list الى جدول table_name من نموذج تحديد مسميات كائنات برنامج اكسس محدد


kassem_geo

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

خلال تصفحي لانجاز الصديق @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
رابط هذا التعليق
شارك

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

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

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