اخواني في الله
السلام عليكم ورحمة الله وبركاته
هل يمكن اسناد العبارة البرمجية التالية الى زر أمر؟ واذا كان بالإمكان كيف يتم ذلك؟
select eno, ename from emp where ename>'&ename';
وهل يظهر مربع يطالب بإدخال الاسم المطلوب؟
جزاكم الله عني خير الجزاء
اخواني في الله
السلام عليكم ورحمة الله وبركاته
هل يمكن اسناد العبارة البرمجية التالية الى زر أمر؟ واذا كان بالإمكان كيف يتم ذلك؟
select eno, ename from emp where ename>'&ename';
وهل يظهر مربع يطالب بإدخال الاسم المطلوب؟
جزاكم الله عني خير الجزاء
اخي الفاضل
السلام عليكم ورحمة الله وبركاته
يوجد لديك طريقتين لعمل ذلك
اولا : عن طريق الاستعلام
انشئ استعلام مبني على الجدول وفي خانة معايير لحقل الاسم اكتب التالي
[فضلا ادخل الاسم المطلوب]
الان قم بتشغيل الاستعلام ستظهر لك معلمه تطالبك بإدخال الاسم اكتب احد الاسماء الموجوده في الجدول
ثانيا : عن طريق الكود في النموذج مربوط بزر امر
اعرض الاستعلام السابق في وضع التصميم ثم اختر من اشرطة القوائم عرض 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 اننا جعلناها في سطر واحد بين علامتي تنصيص " "
وهذا مثال على ذلك
اختكم
زهره
اختي الفاضلة زهرة
السلام عليكم ورحمة الله وبركاته
وأنا اقرأ ردك على سؤالي في آخر ساعة من يوم الجمعة اسأل الله الحي القيوم ذا الجلال والإكرام أن يحرم يديك على النار وأن يرزقنا وإياك ووالدينا وجميع المسلمين الإخلاص والسداد في القول والعمل وأن يجعل لك من كل هم فرجا ومن كل ضيق مخرجا ويرزقك من حيث لاتحتسبي
اختي الفاضلة زهرة
السلام عليكم ورحمة الله وبركاته
معذرة عن تكرار الأسئلة
هل يمكن استخدام الأمر
docmd.runsql
مع هذه العبارة؟
جزاكم الله خيرا
الاخ الفاضل
الحل الامثل هو عمل الاتي
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 & "'"
أحمد
اقتباسالاخ الفاضلالحل الامثل هو عمل الاتي
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 مع الاستعلامات التالية : استعلامات الالحاق و استعلامات الحذف و استعلامات التحديث و استعلامات انشاء الجداول
اختكم
زهره
الانسة الفاضلة زهرة
اشكرك لك اهتمامك بكل الردود ولا سيما الخاطئة منها وهذا ان دل فانما يدل على حسن خلقك واهتمامك الاكيد بهذا المنتدى وما علمنا الا نقطة في بحر علمك(ما شاء الله اللهم لا حسد) والله الموفق.
أحمد البشاري
اخي العزيز احمد البشاري
السلام عليكم ورحمة الله وبركاته
اولا : اشكرك على هذه الكلمات الرقيقه والتي ان دلت فإنما تدل على حسن اخلاقك وروحك الطاهره النقيه .
ثانيا : معاذ الله ان اقوم بتخطئة اي شخص حتى لو كانت اجابته خاطئه واعلم انني لا املك العلم كله فهناك من هو اعلم مني " وفوق كل ذي علم عليم " ولكن قد تكون هناك اجابات ناقصه ونقوم بإكمالها او شرحها بصورة افضل وهذا ليس نقص في المجيب فإن اصاب فله اجران وان اخطأ فله اجر وفي كل الحالات يعتبر ماجور على عمله واقلها الدعاء الصالح له .
اخي احمد
اتمنى من كل قلبي مسامحتي اذا كنت قد جرحت مشاعرك بدون شعور مني فقد احسست من خلال ردك الاخير ان في الخاطر شيء وختاما لك مني كل الشكر والتقدير .
اختكم
زهره
اخي الفاضل احمد بشار
معلمتي الفاضلة زهره
السلام عليكم ورحمة الله وبركاته
لااقول الا جزاكم الله عني خيرا وجعل ذلك في ميزان حسناتكم
معلمتي الفاضلة زهره لااقول على شرحك الوافي الا
شرح الله صدرك وغفر ذنبك ويسر امرك واعظم اجرك
هذا الموضوع مغلق.