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

سؤال : بخصوص ادراج بيانات من نموذج غير منضم


ابو جودي

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

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

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

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

الطريقة الاول من خلال RunSQL وبناء الاستعلام بالكود طبعا 

الطريقة الثانية من خلال  DAO.Recordset

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

 

رابط هذا التعليق
شارك

2 ساعات مضت, Mօհმოოεძ Eʂʂმო said:

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

الطريقة الاول من خلال RunSQL وبناء الاستعلام بالكود طبعا 

الطريقة الثانية من خلال  DAO.Recordset

 

وعليكم السلام 🙂
 

مافي فرق بين نموذج منضم ومرتبط بإستعلام/جدول ، وبين نموذج غير منضم ،

الاسرع يكون عند استخدام الطريقة الثالثة من خلال استخدام استعلام اكسس عادي 🙂

 

فالطريقة الاولى ، الاكسس يحتاج الى ان يعمل Compile لجملة الـ SQL التي ستضعها في الامر ، ثم ينفذ الامر ،

والطريقة الثانية تحتاج الى ان تجلب الجدول الى ذاكرة الكمبيوتر العشوائية ، ثم تقوم بالمطلوب 🙂

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

  • 6 months later...

يا مرحبا بمعلمي أبو جودي 

 الطريقة الأولى فيها شبه من الدوت نت 

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

عن طريق الكود 

بالنسبة للاسرع كلا  الطرق تؤدي إلى روما 

وأنا مع معلمي واستاذي جعفر 

لا نبحث عن التعقيد الطريق الموصول إلى الهدف بيسر وسهولة ويؤدي الغرض على اكمل وجه نسلكه 

والله اعلم وأجل 

 

 

 


 

 

تم تعديل بواسطه مسفر
  • Thanks 1
رابط هذا التعليق
شارك

14 ساعات مضت, Eng.Qassim said:

انا لا افهم

اشوفك تتسرّع في تعليقاتك !!

ولو تغيّر التعليق الى سؤال ، فبتحصل على اجابات افضل 🙂

 

الهدف الاكبر من هذا الموضوع هو ، حماية البيانات :

1. اذا البيانات على السيرفر ، والاكسس متصل بجداوله في السيرفر ، فالرابط يكون مستمر بين الواجهة والجداول ، والشاطر يقدر يستعمل احد برامج "الشم" Sniffing والتوصل الى ما يشاء ،

2. بينما اتصالك بالكود للسيرفر وجلب البيانات ، ثم انقطاع الاتصال بالسيرفر ، يجعل الموضوع ذو امان اكثر 🙂

وللعلم ، فهناك العديد من الجهات التي تهتم بأمن البيانات ، تصر على ان تكون جميع كائناتها غير منضمه 🙂

 

جعفر

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

48 minutes ago, jjafferr said:

اشوفك تتسرّع في تعليقاتك !!

ولو تغيّر التعليق الى سؤال ، فبتحصل على اجابات افضل 🙂

 

الهدف الاكبر من هذا الموضوع هو ، حماية البيانات :

1. اذا البيانات على السيرفر ، والاكسس متصل بجداوله في السيرفر ، فالرابط يكون مستمر بين الواجهة والجداول ، والشاطر يقدر يستعمل احد برامج "الشم" Sniffing والتوصل الى ما يشاء ،

2. بينما اتصالك بالكود للسيرفر وجلب البيانات ، ثم انقطاع الاتصال بالسيرفر ، يجعل الموضوع ذو امان اكثر 🙂

وللعلم ، فهناك العديد من الجهات التي تهتم بأمن البيانات ، تصر على ان تكون جميع كائناتها غير منضمه 🙂

 

جعفر

احسنت استاذ @jjafferrعلى هذه المعلومة التي اضافت لي معلومة جديدة

وبالمناسبة كان تعليقي عبارة عن سؤال عن البرامج العادية لكنك اتحفتنا بمعلومة في حال الاتصال بالسيرفر 

ربي يفتحها عليك من فضله

رابط هذا التعليق
شارك

منذ ساعه, Eng.Qassim said:

وبالمناسبة كان تعليقي عبارة عن سؤال

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

و من ذلك قوله تعالى " ما لهذا الرسول يأكل الطعام ويمشي في الأسواق " وقوله تعالى " كَيْفَ تَكْفُرُونَ بِاللَّهِ وَكُنتُمْ أَمْوَاتاً فَأَحْيَاكُمْ "

وفي هذا النوع من الاستفهام لا يتطلب وضع العلامة " ؟ "

  • Like 2
رابط هذا التعليق
شارك

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

فالتعجب من الشيء هو استغراب الكيفية التي حدث منها  

كقول الله سبحانه وتعالى : ( كيف تكفرون بالإله )

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

ولو فعل مثلا جعفر فعلا لا نستطيع أن ناتي به وهذا يحدث كثيرا معي عندما أشاهد إجابات المعلم الجليل جعفر 

وأقول في نفسي كيف فعل ذلك ؟ !

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

فهذا من باب الاستفهام التعجبي 

وتضاف علامة الاستفهام في آخر السؤال ( ؟! ) 

سؤال الأخ أقرب إليه أن يكون استفهام إنكاري ولن أتحدث عن معانيه 

ولكن سؤاله من حرصه جزاه الله خيرا وعدم الدخول في معضلات 

خرجنا من الموضوع لمناقشة غيره 😏

 

 

  • Like 2
رابط هذا التعليق
شارك

2 ساعات مضت, مسفر said:

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

فالتعجب من الشيء هو استغراب الكيفية التي حدث منها 

كما تريد

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

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

  • Like 1
رابط هذا التعليق
شارك

في ١٨‏/١٢‏/٢٠٢٠ at 23:28, ابا جودى said:

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

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

دعنا نتحدث بالأمثلة طلما ان تريد معرفة الإسلوب

 

في البداية كلغة استعلام SQL فلن يتغيير بها شي هي نفسها سواء استخدمت الطرق التي ذكرتها

في ١٨‏/١٢‏/٢٠٢٠ at 23:28, ابا جودى said:

الطريقة الاول من خلال RunSQL وبناء الاستعلام بالكود طبعا 

الطريقة الثانية من خلال  DAO.Recordset

ففي الخيار الأول 

في ١٨‏/١٢‏/٢٠٢٠ at 23:28, ابا جودى said:

الطريقة الاول من خلال RunSQL وبناء الاستعلام بالكود طبعا

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

DoCmd.RunSQL "INSERT INTO table_name " & _
"(column1, column2,...)" & _
"VALUES (value1, value2,....)"

هذا الإسلوب في الإدخال مجهد نوعا ما لأن مضطر لجعل القيم بجانب بعضها و عند الرغبة في التعديل سوف تجد نفسك مضطر لقرآة العبارة كاملة او ان تكون نظرة اكثرة دقة 

هذه مثلها مثل هذه العبارة 

Dim db As Database
Dim sSQL As String
Set db = CurrentDb
sSQL = "INSERT INTO table_name " & _
"(column1, column2,...)" & _
"VALUES (value1, value2,....)"
db.Execute sSQL

الفرق بأن الأولى ستجد نفسك بحاجة الى تعطيل رسائل النظام المزعجة 

اما في هذه فلن تكون هنالك رسائل نظام مزجعة و لكن يبقى التعامل معها  كما في السابق

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

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

جلب البيانات
	Dim db As DAO.Database
    Dim rs As DAO.Recordset
    ' جلب سطر او سطور حسب المطلوب افضل و اسرع
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM table_name WHERE column_name = some_value")
    
    If Not rs.BOF Then
        rs.MoveFirst                
        While (Not rs.EOF)
         [TextBox1] = rs.Fields(0)
         [TextBox2] = rs.Fields(1)
            rs.MoveNext
        Wend
    End If
    rs.Close
    Set rs = Nothing

========================================================================

اضافة البيانات
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    Set rs = CurrentDb.OpenRecordset("table_name")
        rs.AddNew
        rs.Fields(0) = [TextBox1]
        rs.Fields(1) = [TextBox2]
        rs.Fields(2) = [TextBox3]
        rs.Update
    
    rs.Close
    Set rs = Nothing

========================================================================

تعديل البيانات
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM table_name WHERE column_name = some_value")
        rs.Edit
        rs.Fields(0) = [TextBox1]
        rs.Fields(1) = [TextBox2]
        rs.Fields(2) = [TextBox3]
        rs.Update
    
    rs.Close
    Set rs = Nothing

 

في ١٨‏/١٢‏/٢٠٢٠ at 23:28, ابا جودى said:

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

 

بالنسبة لهذه النقطة فالخيار الثاني هو الافضل لك بلا منازع

و دائما تجب الاتصال المستمر بقاعدة البيانت اتصال يكون عند الحاجة فقط ( اضافة \ حذف \ تحديث \ استدعاء سطور محددة حسب الحاجة )

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

هممم

اخي حسين ،

حسب قراءتي ، فالاسرع سيكون الاختيار الاول ، وذلك بسبب ان الاكسس يكون قد عمل Compile لجملة الـ SQL ، فالمرة الاولى في استعمال كود استعلام التحديث ، ستكون بطيئة (قبل الـ Compile) ، بينما جميع المرات التالية ستكون اسرع 🙂

 

وعلى كل حال ، فنريد متطوع يقوم بتجربة الطريقتين ، ونأخذ توقيت عمل كل طريقة ، مثلا 10 مرات ، ثم نأخذ المعدل 🙂

 

جعفر

رابط هذا التعليق
شارك

2 دقائق مضت, jjafferr said:

حسب قراءتي ، فالاسرع سيكون الاختيار الاول

كيف راح يتصل بقاعدة البيانات اذا اختار الأول  docmd.RunSQL ؟ 

 

لكن في الثاني راح يستخدم 

ActiveXObject("ADODB.Connection")

 

في ١٨‏/١٢‏/٢٠٢٠ at 23:28, ابا جودى said:

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

 

 

رابط هذا التعليق
شارك

53 دقائق مضت, د.كاف يار said:

كيف راح يتصل بقاعدة البيانات اذا اختار الأول  docmd.RunSQL ؟

اصل السؤال ، والاستفسار عن الامر RunSQL فيه ، لا يعطينا انطباع على انه لا يوجد جداول مربوطة ،

وعليه كان جوابي 🙂

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

16 ساعات مضت, د.كاف يار said:

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

دعنا نتحدث بالأمثلة طلما ان تريد معرفة الإسلوب

 

في البداية كلغة استعلام SQL فلن يتغيير بها شي هي نفسها سواء استخدمت الطرق التي ذكرتها

ففي الخيار الأول 

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

DoCmd.RunSQL "INSERT INTO table_name " & _
"(column1, column2,...)" & _
"VALUES (value1, value2,....)"

هذا الإسلوب في الإدخال مجهد نوعا ما لأن مضطر لجعل القيم بجانب بعضها و عند الرغبة في التعديل سوف تجد نفسك مضطر لقرآة العبارة كاملة او ان تكون نظرة اكثرة دقة 

هذه مثلها مثل هذه العبارة 

Dim db As Database
Dim sSQL As String
Set db = CurrentDb
sSQL = "INSERT INTO table_name " & _
"(column1, column2,...)" & _
"VALUES (value1, value2,....)"
db.Execute sSQL

الفرق بأن الأولى ستجد نفسك بحاجة الى تعطيل رسائل النظام المزعجة 

اما في هذه فلن تكون هنالك رسائل نظام مزجعة و لكن يبقى التعامل معها  كما في السابق

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

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

جلب البيانات
	Dim db As DAO.Database
    Dim rs As DAO.Recordset
    ' جلب سطر او سطور حسب المطلوب افضل و اسرع
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM table_name WHERE column_name = some_value")
    
    If Not rs.BOF Then
        rs.MoveFirst                
        While (Not rs.EOF)
         [TextBox1] = rs.Fields(0)
         [TextBox2] = rs.Fields(1)
            rs.MoveNext
        Wend
    End If
    rs.Close
    Set rs = Nothing

========================================================================

اضافة البيانات
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    Set rs = CurrentDb.OpenRecordset("table_name")
        rs.AddNew
        rs.Fields(0) = [TextBox1]
        rs.Fields(1) = [TextBox2]
        rs.Fields(2) = [TextBox3]
        rs.Update
    
    rs.Close
    Set rs = Nothing

========================================================================

تعديل البيانات
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM table_name WHERE column_name = some_value")
        rs.Edit
        rs.Fields(0) = [TextBox1]
        rs.Fields(1) = [TextBox2]
        rs.Fields(2) = [TextBox3]
        rs.Update
    
    rs.Close
    Set rs = Nothing

 

بالنسبة لهذه النقطة فالخيار الثاني هو الافضل لك بلا منازع

و دائما تجب الاتصال المستمر بقاعدة البيانت اتصال يكون عند الحاجة فقط ( اضافة \ حذف \ تحديث \ استدعاء سطور محددة حسب الحاجة )

الله يعطيك العافيه 

لما بتضع الاكواد كده ويجلس من مثلى من المبتدئين ويقراء الكود 

اجده سهل 

لانى باعرف ليه غيرت النقطه دي للنقطه أخرى عشان اعمل حاجه زي التعديل او ارسال المعلومات الى الجداول

 

لك كل تحياتي

رابط هذا التعليق
شارك

يامرحبا باخي واستاذي الفاضل @مسفر

كل عام وانتم بخير

الاستفهام له انواع متعددة اشهرها سبعة انواع

وهناك من يرى انها اكثر من ذلك فعدها عشرا وبعضهم اكثر

ندخل في لب الموضوع

23 ساعات مضت, مسفر said:

فالتعجب من الشيء هو استغراب الكيفية التي حدث منها  

كقول الله سبحانه وتعالى : ( كيف تكفرون بالإله )

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

وايضا يقاس عليها السؤال

في ١٩‏/٧‏/٢٠٢١ at 01:09, Eng.Qassim said:

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

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

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

ولو استخدمنا كلمة استغرب ان نلجأ للاكواد الخ ايضا لم يتغير المعنى واستغرب مرادفة لاتعجب

او قلنا كيف نلجأ  الى الاكواد و .... الخ لن يتغيير المعنى

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

ولا يشترط في استفهام التعجب وجود فعل في سياق الحديث فيمكن ترك الامر على ايهامه للتحقير والتعجب و من ذلك قوله تعالى " وَأَصْحَابُ الشِّمَالِ مَا أَصْحَابُ الشِّمَالِ " وقوله تعالى " وأصحاب المشأمة ما أصحاب المشأمة " او ان يترك على ايهامه للتفخيم والتعجب من حسن المآل كقوله تعالى " وَأَصْحَابُ الْيَمِينِ مَا أَصْحَابُ الْيَمِينِ "

واما الاستفهام الانكاري له اغراضه ومن اشهرها التكذيب او التوبيخ على امر مضى او مستمر

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

فائدة

التعجب في العربية له صيغتان

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

هذا ما اعلمه

فإِن أحسنت فمن الله، وإِن أسأت أو أخطأت فمن نفسي والشيطان

والله تعالى اعلم

في ردي السابق

21 ساعات مضت, kha9009lid said:

كما تريد

القصد منه ان رأيك وفقا لفهم السؤال وليس الهدف التجاوز على اخ عزيز و معلم قدير له كل الاحترام والتقدير وان اختلفنا في الرأي

اخيرا اعتذر من صاحب الموضوع والقائمين على الموقع عن الاطالة و الخروج عن الموضوع الاساسي للمشاركة

  • Like 1
رابط هذا التعليق
شارك

1 ساعه مضت, kha9009lid said:

يامرحبا باخي واستاذي الفاضل @مسفر

كل عام وانتم بخير

الاستفهام له انواع متعددة اشهرها سبعة انواع

وهناك من يرى انها اكثر من ذلك فعدها عشرا وبعضهم اكثر

ندخل في لب الموضوع

وايضا يقاس عليها السؤال

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

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

ولو استخدمنا كلمة استغرب ان نلجأ للاكواد الخ ايضا لم يتغير المعنى واستغرب مرادفة لاتعجب

او قلنا كيف نلجأ  الى الاكواد و .... الخ لن يتغيير المعنى

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

ولا يشترط في استفهام التعجب وجود فعل في سياق الحديث فيمكن ترك الامر على ايهامه للتحقير والتعجب و من ذلك قوله تعالى " وَأَصْحَابُ الشِّمَالِ مَا أَصْحَابُ الشِّمَالِ " وقوله تعالى " وأصحاب المشأمة ما أصحاب المشأمة " او ان يترك على ايهامه للتفخيم والتعجب من حسن المآل كقوله تعالى " وَأَصْحَابُ الْيَمِينِ مَا أَصْحَابُ الْيَمِينِ "

واما الاستفهام الانكاري له اغراضه ومن اشهرها التكذيب او التوبيخ على امر مضى او مستمر

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

فائدة

التعجب في العربية له صيغتان

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

هذا ما اعلمه

فإِن أحسنت فمن الله، وإِن أسأت أو أخطأت فمن نفسي والشيطان

والله تعالى اعلم

في ردي السابق

القصد منه ان رأيك وفقا لفهم السؤال وليس الهدف التجاوز على اخ عزيز و معلم قدير له كل الاحترام والتقدير وان اختلفنا في الرأي

اخيرا اعتذر من صاحب الموضوع والقائمين على الموقع عن الاطالة و الخروج عن الموضوع الاساسي للمشاركة

لا تظن ما ليس بي فلم أرد ولم أتحدث بسبب كلمة ( كما تريد ) 

لأنك قبل كل ذلك معلمي واستاذي وأقدرك واحترمك قبل كل شيء 

فالعين لا تعلى على الحاجب 

أما فهم المعنى فيختلف من إنسان إلى إنسان 

فعلماؤنا اختلفوا في كثير من الأمور كل حسب فهمه ألا نختلف انا وانت في فهم المقصد 

وأعتذر منك ومن الجميع لدخولنا في موضوع آخر 

 

  • Like 2
رابط هذا التعليق
شارك

في ١٩‏/٧‏/٢٠٢١ at 22:39, jjafferr said:

وعلى كل حال ، فنريد متطوع يقوم بتجربة الطريقتين ، ونأخذ توقيت عمل كل طريقة ، مثلا 10 مرات ، ثم نأخذ المعدل 🙂

تفضل يا غالي

التجربة

1 - جدول به 3 حقول يحتوي على بيانات ما يقرب من ربع مليون سجل

2 - كود متنوع يقوم باستعلام الحاق بثلاث طرق

3 - النتائج مبهرة


'1
        CurrentDb.Execute "DELETE * FROM Table3"
        X = Timer
        DoCmd.SetWarnings False
        DoCmd.RunSQL "INSERT INTO Table3 ( text1, text2, text3 ) SELECT Table1.text1, Table1.text2, Table1.text3 FROM Table1;"
        DoCmd.SetWarnings True
        XTime = Timer - X
        XTime = Format(XTime, "#0.0####")
        Debug.Print "Time1 " & "==========> " & XTime

'2
        CurrentDb.Execute "DELETE * FROM Table3"
        X = Timer
        CurrentDb.Execute "INSERT INTO Table3 ( text1, text2, text3 ) SELECT Table1.text1, Table1.text2, Table1.text3 FROM Table1;"
        XTime = Timer - X
        XTime = Format(XTime, "#0.0####")
        Debug.Print "Time2 " & "==========> " & XTime

'3
        CurrentDb.Execute "DELETE * FROM Table3"
        X = Timer
        CurrentDb.Execute "Query1"
        XTime = Timer - X
        XTime = Format(XTime, "#0.0####")
        Debug.Print "Time3 " & "==========> " & XTime
'4
        CurrentDb.Execute "DELETE * FROM Table3"
        X = Timer
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim rst As DAO.Recordset

        Set rs = CurrentDb.OpenRecordset("Table1")
        Set rst = CurrentDb.OpenRecordset("Table3")

        For i = 1 To rs.RecordCount
            rst.AddNew
            rst.Fields(0) = rs.Fields(0)
            rst.Fields(1) = rs.Fields(1)
            rst.Fields(2) = rs.Fields(2)
            rst.Update
            rs.MoveNext
        Next

        rs.Close
        Set rs = Nothing
        rst.Close
        Set rst = Nothing

        XTime = Timer - X
        XTime = Format(XTime, "#0.0####")

        Debug.Print "Time4 " & "==========> " & XTime
    Debug.Print "================================"

db9.rar

تحياتي

  • Like 2
رابط هذا التعليق
شارك

منذ ساعه, مسفر said:

وهذا مثال لجدول غير مرتبط ومربعات نصوص غير منظمة 

 

jjafferr.accdb 1.66 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 1 download

اخوي مسفر ايش اصدار الاوفيس الي تستخدمه

حبيت اطلع على الملف لكن للأسف ما فتح معي

image.png.c2bb7ab0113c7106fa0ad71383b29a41.png

رابط هذا التعليق
شارك

8 ساعات مضت, د.كاف يار said:

اخوي مسفر ايش اصدار الاوفيس الي تستخدمه

حبيت اطلع على الملف لكن للأسف ما فتح معي

اعدت رفع الملف في مشاركة اخوي مسفر 🙂

طبعا الرجال مدلّعني واسم الملف على اسمي له بونص 😁

 

جعفر

  • Like 1
  • Haha 1
رابط هذا التعليق
شارك

11 ساعات مضت, محمد أبوعبدالله said:

تفضل يا غالي

التجربة

1 - جدول به 3 حقول يحتوي على بيانات ما يقرب من ربع مليون سجل

2 - كود متنوع يقوم باستعلام الحاق بثلاث طرق

3 - النتائج مبهرة

 

شكرا جزيلا اخوي ابو عبدالله ، مجهود تُشكر عليه 🙂

 

 

الكود يقوم بنسخ هذه البيانات الى الجدول Table3

image.png.8101ddef5813e7b69714e113ab74249d.png

.

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

Time1 ==========> 3.16797  <= DoCmd.RunSQL
Time2 ==========> 3.14453  <= CurrentDb.Execute
Time3 ==========> 3.72656  <= CurrentDb.Execute "Query1"
Time4 ==========> 9.07031  <= CurrentDb.OpenRecordset
================================
Time1 ==========> 3.11328
Time2 ==========> 3.13672
Time3 ==========> 3.07422
Time4 ==========> 6.05859

.

وتم حذف اول محاولة ، حيث في المرة الاولى ، يحتاج الاكسس الى عمل Compile لجملة SQL التي سيستعملها في الاستعلام :

image.png.9e864cb128dee3e523eb67a414ac6def.png

.

 

 

في ٢٠‏/٧‏/٢٠٢١ at 00:45, د.كاف يار said:

كيف راح يتصل بقاعدة البيانات اذا اختار الأول  docmd.RunSQL ؟ 

 

هكذا ممكن عمل اتصال مع قاعدة بيانات خارجية (لاحظ هذا استعلام الحاقي) :

image.png.598b90292ccc1af2fd7978066139a3c1.png

.

ونقدر نستعملة كإستعلام (وهو الاسرع) ، او جملة SQL مع docmd.RunSQL او "currentdb.execute "qry_tbl_BB_Append 🙂

ويمكن استعمال Source Connect Str ، لإضافة متطلبات الربط ، وهذا احد المواقع اللي يعطينا جملة الربط :

Access connection strings - ConnectionStrings.com

 

 

جعفر

  • 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