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

كتابة الاستعلامات بالكود بدلا من الكائن

مغلق
بدأه بوحمدان2000 في 12 يوليو 2003 · 15 رد · 1,254 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

تحية طيبة لمشرفي واعضاء المنتدى ...

طريقة كتابة الاستعلام بدلا من انشائة ككائن بواسطة العبارة

DoCmd.RunSQL "_____________", -1

جيدة وتعطي نوع من الحماية للاستعلامات خصوصا لما يتم وضع الاستعلام في زر امر في فورم وتحويل الملف

الى mde

وتنفع مع استعلام الالحاق -الحذف- انشاء الجدول-تحديث

اما كود الاستعلام هو عن طريق انشاء الاستعلام ككائن وبعدها تحويل الاستعلام الى sql عن طريق

الامر عرض >> عرض sql

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

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

هذا هو سؤالي .

ولكم خالص تحياتي..

#2

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

هذا الذي يظهر لي

#3

الاخ Gaham

مشكور على الرد السريع ولكن جربت اللي قلته و الاستعلام مارضى يظهر؟!

ولك خالص تحياتي

#4

أخي الكريم

السلام عليكم

العبارة runsql تقوم بتنفيذ الاستعلامات الإجرائية فقط أي استعلامات التحديث والحذف والإلحاق أما استعلامات التحديد واستعلامات التوحيد فيجب أولاً إنشاء الاستعلام ثم فتحه

تحياتي

أخوك / أبو هاجر

#5

أستاذي/ أبو هاجر

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

شكراً على المعلومه والله أشتقت لإطلالتك علينا في هذا المنتدى الطيب.

فأرجو أن لا تبخل علينا عندما تسنح لك الفرصه والله يوفقك في دراستك. (f)

ibnmusqat.gif
#6

:eek: ابو هاجر هنا يا مرحبا يا مرحبا

عودا حميدا ان شاء الله

#7

اخى الكريم

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

docmd.runsql

80.gif

#8

basmallah.gif

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

أستاذي العزيز ابو هاجر

اللهم لك الحمد بأن ارجعك لنا ، الله وحده يعلم مدى المعزة التي نكنها لك يا أخي ..

أستاذي ابو هاجر ، أرجو منك التكرم بالمرور على رسائلكم الخاصة .

tahiyat.gif

========

counter2001b.cgi?602678

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#9

(f)استاذي أبو هاجر الحمد لله على سلامتك ونورت المنتدى(f)

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

أنا أعلم أننا نأخذ جملة SQL من تصميم الاستعلام نفسه بعد أن نجعل عليه جميع المعايير المطلوبة ونحفظ الاستعلام ثم نذهب إلى تصميم الاستعلام ومن SQL نضلل الموجود ونقوم بلصقه في الوحدة النمطية التي تبدأ بــ DoCmd.RunSQL

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

أرجو أن يكون طلبي واضح للجميع

وتقبلوا تحياتي(f)(f)

#10

أنتظر الإجابة (clock)

#11

الإخوة الكرام

السلام عليكم وبعد

أشكر لكم جميعاً ترحيبكم

أخي أبو طالب جملة إنشاء جدول تعتبر جملة استعلام إجرائي أي أنه يمكن تنفيذها بعبارة runsql

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

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

تحياتي وشكري للجميع

أخوكم / أبو هاجر

#12

استاذي أبو هاجر أشكر لك استجابتك فهذا ما تعودناه منك جزاك الله خيراً

طلبي غير محدد كل ما أقصده من طلبي هو قاعدة كتابة SQL في الوحدة النمطية التي تبدأ بـ DoCmd.RunSQL

وطريقة وضع الفواصل وكذلك علامات التنصيص وهل هناك اختلاف في حالة كان الاستعلام سطر أو سطرين أو أكثر

هذا بعض الأمثلة

SELECT جدول1.الرقم, جدول1.الاسم, جدول1.الوظيفة, جدول1.المرتبة, جدول1.الراتب, جدول1.الدرجة, جدول1.بدل_النقل

FROM جدول1;

مثال آخر عليه معيار

SELECT جدول1.الرقم, جدول1.الاسم, جدول1.الوظيفة, جدول1.المرتبة, جدول1.الراتب, جدول1.الدرجة, جدول1.بدل_النقل

FROM جدول1

WHERE (((جدول1.المرتبة)=[forms]![الرواتب]![المراتب]));

وهذا استعلام إلحاق

INSERT INTO جدول1 ( الرقم, الاسم, الوظيفة, المرتبة, الراتب, الدرجة, بدل_النقل )

SELECT جدول1.الرقم, جدول1.الاسم, جدول1.الوظيفة, جدول1.المرتبة, جدول1.الراتب, جدول1.الدرجة, جدول1.بدل_النقل

FROM جدول1

WHERE (((جدول1.المرتبة)=[forms]![الرواتب]![المراتب]));

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

#13

السلام عليكم

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

وشكرا لشباب المنتدى على التجاوب .

#14

أخي الكريم فهد

السلام عليكم وبعد

بالنسبة لكتابة العبارة فأحسن طريقة هي ما سبق ذكره وهو تصميم الاستعلام ثم نسخ عبارة sql ولصقها في موضع العبارة المطلوب تنفيذها

أما بالنسبة لعلامات التنصيص فلأن العبارة أصلاً يجب أن توضع بين علامتي تنصيص مزدوجة " ولأن علامات التنصيص لا يمكن أن تسخدم داخل بعضها البعض فعليك استبدال أي علامة تنصيص " داخل عبارة الاستعلام sql بعلامة التنصيص المفردة ' وهي الموجودة عادة مع حرف الطاء في لوحة المفاتيح

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

   

 Dim a As String, b As String, c As String

  

a = "SELECT جدول1.الرقم, جدول1.الاسم, جدول1.الوظيفة, جدول1.المرتبة, جدول1.الراتب, جدول1.الدرجة, جدول1.بدل_النقل"

b = " FROM جدول1"

c = " WHERE (((جدول1.المرتبة)=[forms]![الرواتب]![المراتب]));"

docmd.runsql a & b & c

آمل أن تكون الفكرة واضحة

تحياتي للجميع

أخوكم / أبو هاجر

#15

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

#16

الاستاذ أبو هاجر .. مساء الخير

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

خرج عندي خطأ وتم تضليل هذه العبارة

DoCmd.RunSQL a & b & c & g

باللون الأصفر

Dim a As String, b As String, c As String, g As String



a = "INSERT INTO [الحالة المالية للرصيد] ( [bind no], [band code], [band no], [band name], [section name], allowance, outgoing, leftover, [date], remarks )"

b = "SELECT بطاقة_الإرتباط.[bind no], بطاقة_الإرتباط.[band code], بطاقة_الإرتباط.[band no], بطاقة_الإرتباط.[band name], بطاقة_الإرتباط.[section name], بطاقة_الإرتباط.allowance, بطاقة_الإرتباط.outgoing, بطاقة_الإرتباط.leftover, بطاقة_الإرتباط.date, بطاقة_الإرتباط.remarks"

c = "FROM بطاقة_الإرتباط"

g = "WHERE (((بطاقة_الإرتباط.[bind no])=[forms]![شاشة_بطاقة_الارتباط]![bind no]));"



DoCmd.RunSQL a & b & c & g

فما هو الخطأ في ذلك

علماً بأني قمت بنسخ جملة SQL من الاستعلام بعد تصميمه وحفظه

شاكراً لك جهودك

هذا الموضوع مغلق.

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

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

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

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

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