الاخوه الاعزاء آإع ــضـآإء منتدي كلكـ آنـآإ

مرت ثلآث آشهر ولم ندخل المنتدى لظروف الصيف والسفر وها نحن نع ــود اليكـم

 من ج ـديد وكلي امل ان يتضـآإعف عدد الاعضاء وتزداد المواضيع ؤالهدوء

الذي حصل هنا هو نتيجه لسفر النـآإس واتمنىآ ان ينشط آلمنتدىآ من جدييد

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

 وللجميع مني خالص التحيه والاحترام

اخوكم

 ALBADER



إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 06-20-2012, 06:57 AM   #11
نبضٌ أخير
الآدارة
لآقلت يآقلبي آبعد قآل حبيته


الصورة الرمزية نبضٌ أخير
نبضٌ أخير غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 8
 تاريخ التسجيل :  Nov 2011
 أخر زيارة : 09-04-2013 (01:10 AM)
 المشاركات : 69,003 [ + ]
 التقييم :  818
 الدولهـ
Saudi Arabia
 الجنس ~
Female
لوني المفضل : Black
افتراضي



الحلقة الحادية عشر

الجزء الثالث من استخدام جمل Sql مع الفيجوال بيسك

خامسا : استخدام العامل Like

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

CODE

Select * from tab
Where col like string



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



ثانيا : إذا كنت تستخدم قاعدة البيانات Sql server فيكون النص كالتالي :



وهنا ملاحظة ان الرموز مع الكائن ado هي المستخدمة مع sql server حتى ولو كنت تستخدم access

مثال تطبيقي 10

لعرض جميع حقول الجدول بحيث أن اسم الطالب يحتوي على حرف m
اضغط على الزر SQL10 مرتين ثم اكتب الكود التالي :

CODE

Dim sql As String
sql = "Select * From St_inf where st_**** like *m*"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1




مثال آخر تطبيقي 11

لعرض جميع الأسماء في قائمة اسم الطالب عندما نكتب أي حرف في مربع النص الذي فوقها
اضغط على مربع النص الذي فوق list box مرتين ثم اختار الحث Change لمربع النص ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select * from st_inf where st_**** like '%" + txt6.**** + "%'"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set dblist1.RowSource = rs1
dblist1.ListField = "st_****"
dblist1.*******




سادسا : جملة الترتيب Order By

حيث تستخدم لترتيب البيانات المعروضة حسب حقل أو أكثر :
الشكل العام للجملة يكتب كالتالي :

CODE

Select * from tab
Where condition
Order by col1,col2,…[Asc,Desc]



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

مثال تطبيقي 12

لعرض جميع الأسماء مرتبة ترتيبا تصاعديا حسب اسم الطالب
اضغط على الزر Sql11 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select * from st_inf where st_no>6 order by st_****"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1




الحقول المحسوبة داخل جملة Select

حيث يمكنك إجراء عمليات حسابية على البيانات المعروضة وهذه العمليات تكون مفيدة جدا في حالات لا تجد إلا الحقول المحسوبة مثل إيجاد مجموع البيانات داخل حقل أو إيجاد أكبر قيمة .....
الدوال التي يمكن استخدامها في جملة select هي :
1 – دالة المجموع Sum()
حيث يمكنك استخدامها لإيجاد مجموع القيم الموجودة في حقل معين

مثال تطبيقي 13

مثلا لحساب مجموع القيم الموجودة في الحقل st_no وهو الحقل الرقمي الموجود بالجدول
اضغط على الزر Sql12 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select sum(st_no) from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
****1.**** = rs1.Fields(0)




2 – دالة أكبر قيمة Max()

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

مثال تطبيقي 14

مثلا لحساب أكبر القيم الموجودة في الحقل st_no وهو الحقل الرقمي الموجود بالجدول
اضغط على الزر Sql13 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select max(st_no) from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
****1.**** = rs1.Fields(0)




3 – دالة أقل قيمة Min()

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

مثال تطبيقي 14

مثلا لحساب اقل القيم الموجودة في الحقل st_no وهو الحقل الرقمي الموجود بالجدول
اضغط على الزر Sql14 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select min(st_no) from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
****1.**** = rs1.Fields(0)




4 - دالة المتوسط Avg()

حيث يمكنك استخدامها لإيجاد متوسط القيم الموجودة في حقل معين

مثال تطبيقي 15

مثلا لحساب مجموع القيم الموجودة في الحقل st_no وهو الحقل الرقمي الموجود بالجدول
اضغط على الزر Sql15 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select avg(st_no) from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
****1.**** = rs1.Fields(0)




5 – دالة عدد السجلات Count()

حيث يمكنك استخدامها لإيجاد عدد السجلات الموجودة في حقل معين حيث يتم تجاهل القيم الخالية إلا إذا استخدمت علامة *

مثال تطبيقي 16

مثلا لحساب عدد السجلات الموجودة في الحقل st_no وهو الحقل الرقمي الموجود بالجدول
اضغط على الزر Sql16 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select count(st_no) from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
****1.**** = rs1.Fields(0)




6 – يمكنك إجراء عملية حسابية على حقل معين

مثل ضرب الحقل رقم الطالب في 10

مثال تطبيقي 17

مثلا لضرب الحقل st_no في العدد 10
اضغط على الزر Sql17 مرتين ثم اكتب الكود التالي :

CODE

Dim sql
sql = "select st_no,st_no*10 as account from st_inf "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
set datagrid1.datasource = rs1



نكمل إن شاء الحلقة القادمة


 
مواضيع : نبضٌ أخير



رد مع اقتباس
قديم 06-20-2012, 06:58 AM   #12
نبضٌ أخير
الآدارة
لآقلت يآقلبي آبعد قآل حبيته


الصورة الرمزية نبضٌ أخير
نبضٌ أخير غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 8
 تاريخ التسجيل :  Nov 2011
 أخر زيارة : 09-04-2013 (01:10 AM)
 المشاركات : 69,003 [ + ]
 التقييم :  818
 الدولهـ
Saudi Arabia
 الجنس ~
Female
لوني المفضل : Black
افتراضي



الحلقة الثانية عشر

الجزء الرابع من استخدام جمل Sql مع الفيجوال بيسك

جملة التجميع Group By

تستخدم لتجميع النتائج الى مجموعات حسب حقل من الحقول حيث يمكنك مثلا ايجاد المجموعات الفرعية لعدة اقسام باستخدام جملة Group By
الصورة العامة للجملة تكتب كالتالي :
CODE
Select * from tab
Where condition
Group By col
Order by col1,col2,…[Asc,Desc]


مثال تطبيقي 18

مثلا إذا كان عندنا رواتب الموظفين للشركة والتي بها مجموعة أقسام ونريد ايجاد مجموع الرواتب لكل قسم من الأقسام افترض عندنا ثلاث أقسام قسم الحسابات Account – قسم التدريب Training وقسم المبيعات Sales
اضغط على الزر SQL18 مرتين ثم اكتب الجملة التالية
CODE
Dim sql
sql = "select dep,sum(salary) as the_sum,avg(salary) as the_averag,count(salary) as the_aacount from emp group by dep "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


جملة تقليص التجميع Having

تستخدم لتقليص المجموعات مثل إيجاد أكبر مجموع من المثال السابق
الصورة العامة للجملة تكتب كالتالي :
CODE
Select * from tab
Where condition
Group By col
Having col
Order by col1,col2,…[Asc,Desc]

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

مثال تطبيقي 19

اضغط على الزر SQL19 مرتين ثم اكتب الجملة التالية
CODE
Dim sql
sql = "select dep,sum(salary) as the_sum,avg(salary) as
the_averag,count(salary) as the_aacount from emp group by dep having sum(salary)>12000 and avg(salary)>3000 "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


ربط الجداول

وهي ميزة هامة جدا من مميزات قاعدة البيانات أنك يمكنك عرض بيانات من اكثر من جدول ولكن أولا يجب أن يكون بين الجداول علاقة ربط معينة حتى يمكنك استخراج المعلومات من هذه الجداول ولمن لا يعرف عن العلاقات هو يجب وجود حقل رقمي مكرر في الجدولين يطلق على الحقل في الجدول الأول المفتاح الأساسي ويطلق عليه في الجدول الثاني المفتاح الأجنبي حيث يتم الشرط من خلال تساوي قيم هذين الحقلين
جمل الوصل
1 – الوصل باستخدام جملة Where
2 – الوصل باستخدام جملة Join

أولا : الوصل باستخدام جملة Where

حيث تكتب جملة الربط كالتالي
CODE
Select tab1.col1, tab2.col2
From tab1,tab2
Where tab1.col = tab2.col

ونعطي مثلا عمليا حيث نعتبر الجدولين st_info والجدول st_level
الجدول الأول به الحقول st_no,st_****,address,phone,b_date,
والجدول الثاني به الحقول التالية st_no,level,class مثلا

مثال تطبيقي 20

إذا أردنا مثلا عرض رقم الطالب والمستوى والفصل من الجدولين بحيث أن رقم الطالب متساوي
اضغط على الزر SQL20 واكتب الكود التالي
CODE
Dim sql
sql = "select st_inf.st_no,st_level.level,st_level.class from st_inf,st_level
where st_inf.st_no = st_level.st_no and st_inf.st_no>8 "
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


ثانيا : الوصل باستخدام الجملة Join

وهي تأتي على عدة أشكال

الشكل الأول : جملة Inner join

وهي الوضع الافتراضي إن لم تحدد نوع الصلة وتسمى صلة داخلية حيث تعيد جميع السجلات المتطابقة من الجدولين وتهمل السجلات الغير متطابقة
وهي تكتب كالتالي :
CODE
Select tab1.col1, tab2.col2
From tab1 Inner join tab2 on tab1.col = tab2.col
Where condition
Order by col,…
Group by col ,….


مثال تطبيقي 21

اضغط على الزر SQL21 مرتين فمثلا إذا أردنا مثلا عرض رقم الطالب والمستوى والفصل من الجدولين بحيث أن رقم الطالب متساوي
CODE
Dim sql
sql = "select st_inf.st_no,st_level.level,st_level.class from st_inf inner
join st_level on st_inf.st_no = st_level.st_no"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


الشكل الثاني : جملة left join

تسمى صلة يسارية ( ليست شيوعية ) ولكن من اليسار حيث تعيد جميع السجلات للجدول اليساري ( الثانوي ) والمطابقة لها من الجدول اليميني ( الأساسي )
وهي تكتب كالتالي :
CODE
Select tab1.col1, tab2.col2
From tab1 Left join tab2 on tab1.col = tab2.col
Where condition
Order by col,…
Group by col ,….


مثال تطبيقي 22

اضغط على الزر SQL22 مرتين فمثلا إذا أردنا مثلا عرض رقم الطالب والمستوى والفصل من الجدولين بحيث أن رقم الطالب متساوي بحيث يعرض كل سجلات الثاني والمتساوي من الأول
CODE
Dim sql
sql = "select st_inf.st_no,st_level.level,st_level.class from st_inf Left
join st_level on st_inf.st_no = st_level.st_no where st_inf.st_no>10"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


الشكل الثالث : جملة right join

تسمى صلة يمينية ولكن من اليمين حيث تعيد جميع السجلات للجدول اليميني ( الأساسي ) والمطابقة لها من الجدول اليساري ( الثانوي)
وهي تكتب كالتالي :
CODE
Select tab1.col1, tab2.col2
From tab1 Right join tab2 on tab1.col = tab2.col
Where condition
Order by col,…
Group by col ,….


مثال تطبيقي 23

اضغط على الزر SQL23 مرتين فمثلا إذا أردنا مثلا عرض رقم الطالب والمستوى والفصل من الجدولين بحيث أن رقم الطالب متساوي بحيث يعرض كل سجلات الأول مع المتساوي فقط من الثاني
CODE
Dim sql
sql = "select st_inf.st_no,st_level.level,st_level.class from st_inf Right
join st_level on st_inf.st_no = st_level.st_no where st_inf.st_no>10"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1


الشكل الرابع : جملة Full join

تسمى صلة كاملة حيث تعيد جميع السجلات من الجدولين
وهي تكتب كالتالي :
CODE
Select tab1.col1, tab2.col2
From tab1 full join tab2 on tab1.col = tab2.col
Where condition
Order by col,…
Group by col ,….


مثال تطبيقي 24

اضغط على الزر SQL24 مرتين فمثلا إذا أردنا مثلا عرض رقم الطالب والمستوى والفصل من الجدولين بحيث أن رقم الطالب متساوي
CODE
Dim sql
sql = "select st_inf.st_no,st_level.level,st_level.class from st_inf full
join st_level on st_inf.st_no = st_level.st_no where st_inf.st_no>10"
If rs1.State = adStateOpen Then rs1.Close
rs1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs1

بهذا نكون قد انهيا أهم جمل SQL المستخدمة مع الفيجوال بيسك
والى لقاء مع الجزء الأخير من هذه السلسلة وهو Data report


 
مواضيع : نبضٌ أخير



رد مع اقتباس
قديم 06-20-2012, 06:58 AM   #13
نبضٌ أخير
الآدارة
لآقلت يآقلبي آبعد قآل حبيته


الصورة الرمزية نبضٌ أخير
نبضٌ أخير غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 8
 تاريخ التسجيل :  Nov 2011
 أخر زيارة : 09-04-2013 (01:10 AM)
 المشاركات : 69,003 [ + ]
 التقييم :  818
 الدولهـ
Saudi Arabia
 الجنس ~
Female
لوني المفضل : Black
افتراضي



الحلقة الثالثة عشر والأخيرة

كيفية استخدام DATA REPORT مع الفيجوال بيسك 6.00

خطوات التعامل مع التقارير Data Report

الخطوة الأولى : تصميم النموذج ووضع زر طباعة على النموذج مثل التصميم المرفق بالصورة التالية



2 – نبدأ بتصميم التقرير بحيث نختار قائمة project ثم add data report من القائمة المنسدلة كما هو واضح بالصورة



– يظهر التقرير كما ترى بالصورة التالية



أدوات تصميم التقرير



بعض الخصائص الهامة لتصميم التقرير



الخطوة الثانية : وضع الحقول والعناوين والصور على التقرير



حيث يتم كتابة اسم الحقل في خاصية Data Filed لمربعات النصوص المعبرة عن الحقول

كتابة التعليمات لإظهار البيانات المطلوبة :

طباعة كل البيانات في الجدول

إذا أردنا طباعة كل العملاء في جدول العملاء عميل محدد يتم الضغط على اسم العميل ( حسب تصميمك لشاشة العملاء ) ثم نضغط زر طباعة ويكون الكود كالتالي
CODE
If rsrep.State = adStateOpen Then rsrep.Close
rsrep.Open "emp", db, adOpenDynamic, adLockOptimistic
Set repemp.DataSource = rsrep
repemp.Sections("section2").Controls("lb1").Captio n = Format(Date, "yyyy/mm/dd")
repemp.Show
dlist


طباعة سجلات محددة

إذا أردنا طباعة عميل محدد يتم الضغط على اسم العميل ( حسب تصميمك لشاشة العملاء ) ثم نضغط زر طباعة ويكون الكود كالتالي
CODE
Dim sql As String
sql = "select * from emp where emp_no = " & Val(****1.****)
If rsrep.State = adStateOpen Then rsrep.Close
rsrep.Open sql, db, adOpenDynamic, adLockOptimistic
Set repemp.DataSource = rsrep
repemp.Sections("section2").Controls("lb1").Captio n = Format(Date, "yyyy/mm/dd")
repemp.Show
dlist


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


 
مواضيع : نبضٌ أخير



رد مع اقتباس
قديم 08-21-2012, 12:31 AM   #14
شذىَ آلآمل
عضو مميز


شذىَ آلآمل غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 13
 تاريخ التسجيل :  Nov 2011
 أخر زيارة : 08-09-2013 (08:06 AM)
 المشاركات : 1,862 [ + ]
 التقييم :  25
 الدولهـ
Saudi Arabia
 الجنس ~
Female
لوني المفضل : Silver
افتراضي



رووووووووووعه
يسلمو غلاتي
وتسلم دياتك


 


رد مع اقتباس
قديم 09-28-2012, 03:10 AM   #15
احلامي غير
نائبة المشرفة العامة


الصورة الرمزية احلامي غير
احلامي غير غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 25
 تاريخ التسجيل :  Dec 2011
 أخر زيارة : 06-28-2014 (02:47 PM)
 المشاركات : 17,717 [ + ]
 التقييم :  148
 الدولهـ
Saudi Arabia
 الجنس ~
Female
 SMS ~
كل دقيقة .. من عمرنا ..

آنفاس لاتعود..

فلتكن لانفاسكـ حلآوة الإستغفار ..!

استغفر الله العظيم و اتـــوب اليه
لوني المفضل : Peru
افتراضي رد: تعلم الفيجوال بيسك ، دروس في الفيجوال بيسك



يعطيك ربي العافية .,


مشكـــورهـ .,


 


رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
الفيجوال, بيسك, تعلم, دروس


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
أنشئ تحديد عن طريق أداة الريشة ، دروس فوتوشوب ، دروس حصريه ، 2012 ، دروس فوتوشوب سهله 2013 نبضٌ أخير دروس التصميم , شرح التصميم , دورة تصاميم 8 06-01-2012 01:43 AM
طريقة زيادة وضوح الصور بالفوتوشوب ، دروس فوتوشوب ، دروس حصريه ، 2012 ، دروس فوتوشوب سهله 2013 نبضٌ أخير دروس التصميم , شرح التصميم , دورة تصاميم 8 06-01-2012 01:43 AM
دمج الصور عن طريق التدرج بالفوتوشوب ، دروس فوتوشوب ، دروس حصريه ، 2012 ، دروس فوتوشوب سهله 2013 نبضٌ أخير دروس التصميم , شرح التصميم , دورة تصاميم 8 06-01-2012 01:43 AM
درس تعليم القص ، الطريقه المثاليه للقص ، دروس فوتوشوب ، دروس حصريه ، 2012 ، دروس فوتوشوب سهله 2013 نبضٌ أخير دروس التصميم , شرح التصميم , دورة تصاميم 8 06-01-2012 01:42 AM
الفيجوال بيسك 6 نبضٌ أخير كمبيوتر , صور مسن ,برامج حماية,صيانه,مشاكل الحاسب 16 05-28-2012 03:55 AM


الساعة الآن 12:39 PM


هذا الموقع يستعمل منتجات MARCO1

 

SEO by vBSEO 3.6.0