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

لغة الإستفسارات البنيوية SQL

مغلقرائج
بدأه مصلح الحريصي في 25 يوليو 2003 · 101 رد · 9,991 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#26

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

 Dim db As Database, rsCust As Recordset, strSQL As String

Set db = CurrentDb
strSQL = "Select * from customeTbl "
Set rsCust = db.OpenRecordset(strSQL, DB_OPEN_DYNASET)

strSQL = "INSERT INTO customeTbl( customerID,customeName,customeAddress,customeTel) values (" & customerID & ",'" & customeName & "','" & customeAddress & "','" & customeTel & "');"

db.Execute strSQL


وظيفة هذا الكود هي نفس وظيفة كود زر الحفظ والذي ورد في الدرس السابق الفرق أننا في الدرس السابق قمنا بتجزءت لغة SQL إلى سطور وفي ذلك:
1_ سهولة متابعة الكود وتصحيح الخطأ0
2_ لو اعددت برنامج وأتى مبرمج غيرك لتعديل البرنامج فيكون واضحاً بالنسبة له ويساعد في وضوحه لغيرك التسميات0
3_ يبدوا الكود بشكل جميل 0
أنظر الكودين وقارن بنفسك

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

#27

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

الاخ مصلح الله يجعل هذا العمل في ميزان حسناتك ...

انا عملت المثال ولكن في خطأ عند

Set rsCust = db.OpenRecordset(strSql, DB_OPEN_DYNASET)

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

customersdatabase.zip

#28

استاذي / مصلح

مرفق مثال

لكن توجد فيه مشكله ولم اتمكن من حلها

يرجى الاطلاع على المثال وشكرا

databasesql.rar

#29

عفوا لم اجد References في tools

لماذا؟

#30

الأخ System

مثالك ممتاز جداً هذا رائع

بالنسبة للخطأ فيجب أن تجعل Microsoft DAO 3.6 ObjectLibrary في الترتيب الثالث من الأعلى أي تجعلMicrosoft DAO 3.6 ObjectLibrary ثالث خيار من الأعلى فقط وباقي الأوامر ممتازة جداً0

السبب مني كان يجب أن أبين ذلك ضمن الشرح السابق0

الأخ: shz

الخطأ في الأتي:

1_ لم تضبط المرجع تجعلMicrosoft DAO 3.6 ObjectLibrary

2_ تسمية الجدول في الشفرة غير اسم الجدول الحقيقي 0

3_ تسمية مربعات النصوص غير مطابقة لما هو في الكود0

مثالك ممتاز بقي بعض الأخطاء الطفيفة ركز عليها والأمور سوف تسير معك كما تريد 0

من لا يخطىء لا يتعلم فلخطأ ليس الفشل بل النجاح0

الأخ ابو البراء

أحاول بإذن الله أن أبين لك ذلك بالصورة فأمهلني بعض الوقت 0

#31

نبدأ بسم الله

سوف نشرح الكود الموجود على زر " حفظ السجل "

'رسالة تخير المستخدم في الحفظ من عدمه وعند النقر على زر الموافقة سوف يتم حفظ السجل

  If MsgBox("  سوف يتم إضافة العميل (( " & [customeName] & "  ))  إلى العملاء في النظام هل توافق على ذلك  ", vbMsgBoxRight& + vbExclamation + vbYesNo + vbDefaultButton2, "") = vbYes Then

    ' السطر التالي إعلان عن ثلاث متغيرات الأول من نوع قاعدة بيانات
    ' والثاني من نوع سجلات والثالث لغة SQL
   Dim db As Database, rsCust As Recordset, strSQL As String
   Set db = CurrentDb

 'StrSQL هنا نقوم بتخزين كل الحقول من الجدول في المتغير الذي اسميناه
   strSQL = "Select * from customeTbl "

'هنا قمنا بفتح كائن مجموعة سجلات الجدول لإستقبال البيانات
   Set rsCust = db.OpenRecordset(strSQL, DB_OPEN_DYNASET)

   'ثم أتبعنا الأمر اسم الجدول INSERT INTO السطر التالي أستخدمنا أمر
    strSQL = "INSERT INTO customeTbl "

   ' الأسطر التاليه عرفنا فيها اسماء حقول الجدول
    strSQL = strSQL & "( customerID,"
    strSQL = strSQL & "customeName,"
    strSQL = strSQL & "customeAddress, "
    strSQL = strSQL & "customeTel )"

    'وهي تعني القيم الموجودة في مربعات النص على النموذج values هنا استخدمنا عبارة
    strSQL = strSQL & " values ('"

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

    strSQL = strSQL & Me!customerID & "','"
    strSQL = strSQL & UCase(Me!customeName) & "','"
    strSQL = strSQL & UCase(Me!customeAddress) & "','"
    strSQL = strSQL & Me!customeTel & "');"

 السابقة SQL أمر بمعنى نفذ جملة
    db.Execute strSQL

    ' رسالة تخبر المستخدم بأنه تم حفظ السجل
       MsgBox "لقد تم حفظ السجل بنجاح", vbMsgBoxRight, ""

       ' السطر التالي يستدعي إجراء مسح البيانات من مربعات النصوص
       ' الموجودة على النموذج بعد الحفظ
        Call ClearControls

  'الأمر التالي ينقل التركيز إلى مربع النص الخاص برقم العميل
        customerID = ""

' الأمر التالي يعني الخروج من البرنامج

[php]
        ' ماعدى ذلك أي إذ لم يوفق المستخدم على أمر الحفظ
        Else

Exit Sub

        '  رسالة تخبر المستخدم بأنه لم يتم حفظ السجل

       MsgBox "لقد تم إلغاء حفظ السجل ", vbMsgBoxRight, ""
       DoCmd.CancelEvent
       Me!customerID.SetFocus
        End If

'تتعرف على نوع بيانات الحقل  ويجب أن تعرفها في الشفرة SQL ملاحظة هامةلغة
' وذلك على النحو التالي
'   في حال كون نوع الحقل نص نظيف قبل مربع النص   فيصبح هكذا
Values("& Txt1 &", '"& txt2 &"',"txt3 &")   عبارة اس كيو ال

'"&  النصوص &"'   حقل نصي
'"&  النصوص &"'   حقل  رقمي
الفرق بين النصي والرقم  أنه يضاف للحقل النصي هذه العلامة  ' قبل وبعد " أما الأرقام فبدون '

أرجو أن اكون قد وفقت في الشرح وبالنسبة لبقية الأوامر سوف يرد شرحها قريباً بإذن الله 0

وهذا مثال على ما سبق سجل معلومات عميل كرر رقم العميل سجل معلومات عميل جديد أطلع على الأكواد 0

ملاحظة أود أن أشير إليها :

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

databasesql.rar

#32

شكرا أستاذي / مصلح

يرجى الاطلاع بعد التعديل على المثال

databasesql.rar

#33

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

الاستاذ مصلح

شكراً على التشجيع والتصحيح ومنتظرين المزيد................:P

#34

اين أنت يا استاذ/ مصلح الحريصي ;)

انا في انتظارك :rolleyes:

متحمس جدا لدروسك هيا :)

فلا تغيب عنا كثيرا :( (clock)(clock)(clock) :( :confused:

مع تحيات أخوك / shz

#35

الاخ shz

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

الصبر جميل ....... ولو تكرر تطبيق المثال وتغير في الجدول والفورم الفكرة من وراء هذا هو تثبيت المعلومة .............

وش رائيك انا اعمل مثال وانت تعمل مثال؟؟؟;)

#36

استاذي مصلح

شرح وافي وقد زال الغموض الذي على الكود

أنار الله دربك بالإيمان

#37

رب أخ لم تلده أمك ورب أستاذ مصلح لا تجده إلا فى المنتدى .

شكرا لك وبارك الله فيك .

التلميذ الغير منتظم

أشرف خليل

#38

الأخ أشرف

بالنسبة للأخ فهذا صحيح فقد أجد لكم في قلبي ما أجد لأخي الشقيق0

بالنسبة لاستاذ فأعتذر لك فلم أرقى إلى هذا المستوى بعد ولكن نطمح أن نصل ولو بعد حين إذا أمد لنا الله في العمر ووفقنا0

بالنسبة للتلميذ غير المنتظم فكيف أن تكون تلميذ وأنا تعلمت منك 0

(((( العين ما تعلى على الحاجب ))) أنها مبالغة 0

الأخ shz

مثالك ممتاز جداً وأهنئك على سرعة الإستيعاب وأعتذر لك عن التأخير في الردود أنت وبقية الأخوة بسبب إنشغالي 0

#39

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

اليوم سوف نتعرف كيف نحذف السجل الذي نريد أو جميع سجلات الجدول0

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

    If MsgBox(" سوف يتم حذف السجل الظاهر على الشاشة هل تريد فعلاً حذف السجل ؟ ", "" _
    & vbCritical + vbMsgBoxRight + vbYesNo + vbDefaultButton2, "تحذير") = vbYes Then

        Dim db As Database, strSQL As String
        Set db = CurrentDb

        strSQL = "Delete * from customeTbl "
        strSQL = strSQL & "where customerID=" & Me!customerID & ""

        db.Execute strSQL
        Call ClearControls
         db.Close
         Me.customerID.SetFocus
          Me.customerID = ""
        Me.cmdDelete.Enabled = False
        Me.cmdUpUpdate.Enabled = False
    Else
        MsgBox "تم التراجع ولم تنفذ عملية حذف السجل", vbInformation, ""
        DoCmd.CancelEvent
    Exit Sub
    End If

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

معنى الكود:

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

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

الحل : كل ما علينا فعله هو إزالة الشرط من الكود فقط دون أي تغيير أي نحذف السطر التالي من الكود:

strSQL = strSQL & "where customerID=" & Me!customerID & ""

فيصبح الكود بالشكل التالي :

    If MsgBox(" سوف يتم حذف السجل الظاهر على الشاشة هل تريد فعلاً حذف السجل ؟ ", "" _
    & vbCritical + vbMsgBoxRight + vbYesNo + vbDefaultButton2, "تحذير") = vbYes Then

        Dim db As Database, strSQL As String
        Set db = CurrentDb

        strSQL = "Delete * from customeTbl "

        db.Execute strSQL
        Call ClearControls
         db.Close
         Me.customerID.SetFocus
          Me.customerID = ""
        Me.cmdDelete.Enabled = False
        Me.cmdUpUpdate.Enabled = False
    Else
        MsgBox "تم التراجع ولم تنفذ عملية حذف السجل", vbInformation, ""
        DoCmd.CancelEvent
    Exit Sub
    End If

جربوا وسوف نشرح الكود لاحقاً ونرفق مثال للتوضيح

تمنياتي للجميع بالتوفيق

#40

السلام عليكم

شكر اخي مصلح الحريصي

مرفق ملف

يرجى الاطلاع

databasesql.rar

#41

أجزل الله لك المثوبة يا استاذي مصلح

#42

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

الاستاذ مصلح

وانا كمان لوسمحت :D

customersdatabase.zip

#43

أين بقية الأعضاء سؤال أطرحه بشدة

الذي لديه خبره لم يشاركنا في الشرح0

الذي خبرته متوسطة أو ضعيفة لم يطرح الأسئلة والنقاش0

ولم يشارك سوى إثنان فقط هما Shz و System

ويش رائيكم نواصل ولا نتوقف لم أرى الإهتمام لا أريد تصفيق ولكن أريد نقاش حوار أمثلة تعديل أخطاء تصويب شرح ووو0

الأخ Shz

مثالك رائع فعلاً وليس مجاملة وفقك الله

الأخ System

مثالك رائع أيضاً ولكن لم تكمل أمر الحذف 0

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

#44

basmallah.gif

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

أخي العزيز مصلح الحريصي

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

المتصفحون لموضوعك بلغ اكثر من 500 زائر وهذا يدل على أهمية الموضوع

ربما البعض يشعر بالوهن من المشاركة في هذا الموضوع ( انا أولهم ) وذلك لعدم العلم اولا ثم لعدم وجود الوقت ثانيا ، وهذا ليس تبريرا

يعلم الله اني هذا اليوم منذ دخلت النت وانا احاول إثراء الموضوع بكتاب قيم ( نسخة إلكترونيه ) عن SQL لكن بائت محاولاتي بالفشل ولكن سوف اضع هذا الكتاب عباره عن اجزاء في المرفقات .

عنوان الكتاب ( SQL in 21 Days ) من تاليف شركة QUE

tahiyat.gif

========

counter2001b.cgi?602678

صورة
صورة

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

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

 

 
 
#49

ملف الكتاب الجزء الاخير ( الخامس )

sql21days.part5.rar

صورة
صورة

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

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

 

 
 
#50

يجب تحميل الاجزاء الخمسة ثم عمل فك الضغط عن الملفات

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

(f) (gift) (f)

صورة
صورة

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

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

 

 
 

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

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