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

هل يمكن اسناد العبارة التالية الى زر أمر

مغلق
بدأه adb1423 في 22 سبتمبر 2005 · 8 رد · 904 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني في الله

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

هل يمكن اسناد العبارة البرمجية التالية الى زر أمر؟ واذا كان بالإمكان كيف يتم ذلك؟

select eno, ename from emp where ename>'&ename';

وهل يظهر مربع يطالب بإدخال الاسم المطلوب؟

جزاكم الله عني خير الجزاء

#2

اخي الفاضل

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

يوجد لديك طريقتين لعمل ذلك

اولا : عن طريق الاستعلام

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

[فضلا ادخل الاسم المطلوب]

الان قم بتشغيل الاستعلام ستظهر لك معلمه تطالبك بإدخال الاسم اكتب احد الاسماء الموجوده في الجدول

ثانيا : عن طريق الكود في النموذج مربوط بزر امر

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

SELECT emp.eno, emp.ename
FROM emp WHERE (((emp.ename)=[الرجاء ادخال الاسم المطلوب]));

قم بنسخ هذه العباره كما هي

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

Private Sub Command5_Click()
On Error Resume Next
Me.RecordSource = "SELECT emp.eno, emp.ename FROM emp WHERE (((emp.ename)=[الرجاء ادخال الاسم المطلوب]));"
End Sub

Command5 هو زر الامر

On Error Resume Next تمت اضافتها لتجنب ظهور رسالة الخطأ

Me.RecordSource الاسم المطلوب البحث عنه

لاحظ العباره الخاصه بالـ SQL اننا جعلناها في سطر واحد بين علامتي تنصيص " "

وهذا مثال على ذلك

name.rar

اختكم

زهره

#3

اختي الفاضلة زهرة

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

وأنا اقرأ ردك على سؤالي في آخر ساعة من يوم الجمعة اسأل الله الحي القيوم ذا الجلال والإكرام أن يحرم يديك على النار وأن يرزقنا وإياك ووالدينا وجميع المسلمين الإخلاص والسداد في القول والعمل وأن يجعل لك من كل هم فرجا ومن كل ضيق مخرجا ويرزقك من حيث لاتحتسبي

#4

اختي الفاضلة زهرة

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

معذرة عن تكرار الأسئلة

هل يمكن استخدام الأمر

docmd.runsql

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

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

#5

الاخ الفاضل

الحل الامثل هو عمل الاتي

Docmd.RunSQL "SELECT emp.eno, emp.ename FROM emp WHERE emp.ename='" & ename & "'"

وهذا من وجهت نظري والله اعلى واعلم

كما يمكنك عمل نفس الشيء باستعمال

CurrentDb.Execute "SELECT emp.eno, emp.ename FROM emp WHERE emp.ename='" & ename & "'"

أحمد

#6
اقتباس
الاخ الفاضل

الحل الامثل هو عمل الاتي

Docmd.RunSQL "SELECT emp.eno, emp.ename FROM emp WHERE emp.ename='" & ename & "'"

وهذا من وجهت نظري والله اعلى واعلم

كما يمكنك عمل نفس الشيء باستعمال

CurrentDb.Execute "SELECT emp.eno, emp.ename FROM emp WHERE emp.ename='" & ename & "'"

أحمد

اخي احمد بشاري

لقد خانك التعبير في هذه النقطه

اخي صاحب السؤال اليك الشرح المفصل

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

احببت ان اوضح لك نقطه هامه وهي عباره عن معلومه لذا فإن :

عبارة SQL Statement تأخذ احد الاشكال التاليه في احداث الاستعلام كالتالي :

نوع الاستعلام .......................... عبارة SQL

استعلام الالحاق .............. INSERT INTO

استعلام حذف ......................... DELETE

استعلام انشاء جدول ...... SELECT...INTO

استعلام تحديث.......................... UPDATE

لو اردنا تطبيق احد هذه العبارات في محرر الفيجول بيسك للتطبيقات VBA وبإستخدام الدالة RunSQL فتكون على الشكل التالي :

استعلام الحاق

DoCmd.RunSQL "INSERT INTO Kategorien([Kategorie-Nr], Kategoriename) VALUES(1,'Testkategorie')"

استعلام حذف

Docmd.RunSQL  "Delete * from M_Employees"

استعلام تحديث

DoCmd.RunSQL "UPDATE TableName SET FieldName = " & Me.TextBox & " WHERE IDField = " & Me.ControlWithIDValue

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

Dim strSQL As String
strSQL = "UPDATE [الاعضاء]  SET [الاعضاء]![aa] =" & Me![repno]
strSQL = strSQL & "  WHERE ([الاعضاء]![name]= '" & Me![name] & "')"
'MsgBox strSQL
DoCmd.RunSQL strSQL

او

Dim strSQL As String
strSQL = "UPDATE TableName SET FieldName = " & Me.TextBox & " WHERE IDField = " & Me.ControlWithIDValue
DoCmd.RunSQL strSQL

كما تلاحظ اخي الكريم لا بد لنا بتظمين احد العبارات الخاصه بأنواع الاستعلامات والا لن يتم تشغيل الاستعلام في الـ VBA الان سنرى هذه العباره من الاستعلام

"SELECT emp.eno, emp.ename FROM emp WHERE (((emp.ename)=[الرجاء ادخال الاسم]));"

نلاحظ ان هذه العباره هي عباره عن استعلام تحديد يقوم بالبحث عن اسم معين فهل يجوز ان نضعها في الدالة RunSQL سنرى ونجرب

Dim strSQL As String
strSQL = "SELECT emp.eno, emp.ename FROM emp WHERE (((emp.ename)=[الرجاء ادخال الاسم]));"
DoCmd.RunSQL strSQL

عندما نقوم بتشغيل الداله RunSQL لن يقبل برنامج الاكسيس لانه مخالف لقواعد الداله اذن الصحيح نقوم بالتالي :

Me.RecordSource = "SELECT emp.eno, emp.ename FROM emp WHERE (((emp.ename)=[الرجاء ادخال الاسم]));"

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

الخلاصه

تستخدم الدالة RunSQL مع الاستعلامات التالية : استعلامات الالحاق و استعلامات الحذف و استعلامات التحديث و استعلامات انشاء الجداول

اختكم

زهره

#7

الانسة الفاضلة زهرة

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

أحمد البشاري

#8

اخي العزيز احمد البشاري

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

اولا : اشكرك على هذه الكلمات الرقيقه والتي ان دلت فإنما تدل على حسن اخلاقك وروحك الطاهره النقيه .

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

اخي احمد

اتمنى من كل قلبي مسامحتي اذا كنت قد جرحت مشاعرك بدون شعور مني فقد احسست من خلال ردك الاخير ان في الخاطر شيء وختاما لك مني كل الشكر والتقدير .

اختكم

زهره

#9

اخي الفاضل احمد بشار

معلمتي الفاضلة زهره

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

لااقول الا جزاكم الله عني خيرا وجعل ذلك في ميزان حسناتكم

معلمتي الفاضلة زهره لااقول على شرحك الوافي الا

شرح الله صدرك وغفر ذنبك ويسر امرك واعظم اجرك

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

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