Vous êtes sur la page 1sur 24

laoubi_adel@yahoo.

com 5 ً‫عهغهح دسٔط دنف‬

SGBD : ‫انًادج‬
SQL :‫انًٕضٕع‬
‫ نغح االعرؼالياخ انثٌٍُٕح‬SQL(S :stricture L :language Q :query)
‫ًْٔ ػثاسج ػٍ يدًٕػح يٍ االعرؼالياخ انًطثقح يٍ اخم انثسث ػٍ يؼطٍاخ فً قٕاػذ انثٍاَاخ‬
‫ نغح اعرغالل انثٍاَاخ‬LMD(L: language M: manipulation D: données)
: ‫انظٍغح انؼايح‬
Select attr1,attr2,,,attrn ‫أعًاء انخظائض‬
From nom de table ‫اعى قاػذج انثٍاَاخ‬
Where condition ‫انششط‬

Code Nom Prénom Daten Age Adresse Salaire sex


001 Bel hadi bachir 02/11/1975 35 Rue 48 147000 H
002 Fadli djamel 12/03/1975 35 Rue12 120000 H
003 ghadbane doaa 10/07/1980 30 Rue h11 115000 F
004 Zaidi Kamel 03/06/1976 34 Rue 48 175000 H
005 Laoubi Adel 07/03/1983 27 Rue somam 175000 H
006 Kouidri Nourdine 06/07/1981 29 Rue 14 230000 H
007 Sadaoui doaa 12/12/1975 35 Sidi aiche 70000 F
008 Khebal Khemissi 10/11/1970 40 Rue ch-ben yattou 195000 H
009 Fadli Mohamed 02/11/1975 35 Rue ch-ben yattou 230000 H
010 Nekbil Kamel 10/10/1978 32 Rue 12 275000 H
Travailleur (code,nom , prénom ,daten , age , adrs,salaire ,sex): ‫ إنٍك قاػذج انثٍاَاخ انرانٍح‬: 1‫يثال‬

Nom Prénom
Bel hadi bachir
Fadli djamel
ghadbane doaa
Zaidi Kamel
Laoubi Adel
Kouidri Nourdine
Sadaoui doaa
Khebal Khemissi
Fadli Mohamed
Nekbil Kamel
‫يا ًْ أعًاء ٔ أنقاب خًٍغ انؼًال ؟‬-
Select nom ,prénom
From travailleur

1
laoubi_adel@yahoo.com 5 ً‫عهغهح دسٔط دنف‬

195000 ٍ‫يا ًْ قائًح انؼًال انزٌٍ أخشْى انقاػذي اكثش ي‬


Select *
From travailleur
Where salaire >195000

003 ghadbane doaa 10/07/1980 30 Rue h11 115000 F


007 Sadaoui doaa 12/12/1975 35 Sidi aiche 70000 F

7000= ‫أػط أعًاء انؼًال انزٌٍ أخشْى انقاػذي‬


Select prénom
From travailleur
where salaire =70000
Code Nom Prénom Adresse doaa
005 Laoubi Adel Rue somam
‫أػط انقائًح انكايهح ندًٍغ انؼايالخ‬
Select *
From travailleur
Where sex=’f’

Code Nom Prénom Daten Age Adresse Salaire sex


005 Laoubi Adel 07/03/1983 27 Rue somam 175000 H
006 Kouidri Nourdine 06/07/1981 29 Rue 14 230000 H

‫؟‬005 = ًّ‫نقة ٔ ػُٕاٌ انؼايم انزي سق‬. ‫يا ْٕ اعى‬


Select adresse
From. travailleur
Where code =’005’

1980/07/10: ‫أػط انقائًح االعًٍح نهؼًال انزٌٍ انًٕنٕدٌٍ قثم تؼذ ذاسٌخ‬
Select *
From travailleur
Where daten >10/07/1980

006 Kouidri Nourdine 06/07/1981 29 Rue 14 230000 H


009 Fadli Mohamed 02/11/1975 35 Rue ch-ben yattou 230000 H
010 Nekbil Kamel 10/10/1978 32 Rue 12 275000 H

2
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫‪ SQL‬فً دنفً ‪:‬‬ ‫انرؼايم يغ‬

‫‪ -1‬تٕاعطح تشَايح ‪module de base de données:‬‬


‫ٌغًر نك دنفً تانرؼايم يغ ‪ٔ SQL‬رنك تٕاعطح ازذ تشايدّ انفشػٍح ‪ module de base de données :‬انزي عثق ٔاٌ ذطشقُا إنٍّ‬

‫كٍف انغثٍم إنى رنك ؟‬


‫‪ -1‬نرغٍٓم يًٓح انرؼايم يغ ‪ SQL‬التذ يٍ ذٕفش تؼض انششٔط انًًٓح ص‬
‫‪ٔ -1‬خٕد ‪ALIAS‬‬
‫‪ُْ -2‬ذعح نهقٕاػذ انثٍاَاخ ذكٌٕ يُطقٍح‬
‫‪...... -3‬‬
‫‪...... -4‬‬

‫آنٍح انرُفٍز ‪:‬‬


‫‪َ -1‬فز تشَايح ‪module de base données‬‬
‫‪ -2‬قى تفرر انقائًح ‪fichier‬‬
‫‪ -3‬اخرش األيش ‪nouveau/ fiche SQL‬‬
‫ذالزع ظٕٓس يسشس األٔايش انخاص ب ‪SQL‬‬

‫‪x‬‬

‫‪6‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫‪ : x‬ششٌط انًشكثاخ انخاص تًسشس ‪SQL‬‬


‫‪ -1‬ذسذٌذ ‪ alias‬يكاٌ ذٕاخذ قٕاػذ انثٍاَاخ‬
‫‪ -2‬انثسث ػٍ ػثاسج ج يا فً يسشس ‪SQL‬‬
‫‪-3‬ذُفٍز انًغاءنح ‪SQL‬‬
‫‪ -4‬ػًهٍح انظق ‪coller‬‬
‫‪-5‬ػًهٍح انُغخ ‪copier‬‬
‫‪ -6‬ػًهٍح انقض ‪couper‬‬

‫يالزظح ‪ :‬نقذ عثق ٔاٌ ششزد آنٍح إَشاء ‪ alias‬فً ‪module base de données‬‬
‫نركٍ ‪ alias‬انرانٍح ‪ ٔ laoubi_adel‬انرً ذسٕي قاػذج انثٍاَاخ انغاتقح – )‪(travailleur‬‬

‫التذ يٍ ذسذٌذ انـ ‪ alias‬قثم تذاٌح انؼًم‬

‫‪3‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫آنٍح ذسذٌذ ‪alias‬‬


‫اَقش ػهى انقائًح ‪SQL‬‬ ‫‪-1‬‬
‫اخرش اَيش ‪sélectionne un alias‬‬ ‫‪-2‬‬
‫قى ترسذٌذ انــ ‪ alias‬انرً أَشأذٓا يغثقا الزرٕاء قٕاػذ انثٍاَاخ فؼهى عثٍم انًثال ‪laoubi_adel:‬‬ ‫‪-3‬‬
‫اَقش ػهى ‪ok‬‬ ‫‪-4‬‬

‫أٔ اَقش ػهى انًشكثح راخ انذالنح )‪ (1‬فً انشكم )‪(x‬‬


‫الزع انشعٕياخ انرانٍح ‪:‬‬
‫تؼذ ذسذٌذ ‪ alias‬انؼًم َثذأ فً ذسشٌش انًغاءالخ انغاتقح‬

‫يا ًْ قائًح خًٍغ انؼًال ؟‬

‫‪4‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫‪-‬يا ًْ أعًاء ٔ أنقاب خًٍغ انؼًال ؟‬

‫يا ًْ قائًح انؼًال انزٌٍ أخشْى انقاػذي اكثش يٍ‪195000‬؟‬

‫أػط أعًاء انؼًال انزٌٍ أخشْى انقاػذي =‪ 7000‬؟‬

‫‪5‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫أػط انقائًح انكايهح ندًٍغ انؼايالخ‬

‫يا ْٕ االعى انكايم ٔ ػُٕاٌ انؼايم انزي سقًّ =‪ 005‬؟‬

‫أػط انقائًح االعًٍح نهؼًال انزٌٍ انًٕنٕدٌٍ قثم تؼذ ذاسٌخ ‪ 1980/07/10:‬؟‬

‫‪6‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫تؼض أٔايش ‪SQL‬‬


‫األيش ‪AND‬‬
‫‪ٚ‬غًح نك األيش انغاتك تذيج ششط‪ ٍٛ‬أٔ أكثش ف‪ ٙ‬ػه‪ٛ‬ح انثحث‬

‫يثال ‪ :‬أػظ انمائًح االعً‪ٛ‬ح نهؼًال انز‪ ٍٚ‬عُٓى =‪ٔ 53‬أجشْى انماػذ٘ ‪ٚ‬فٕق ‪02222‬‬
‫* ‪select‬‬
‫‪from travailleur‬‬
‫‪where age=35 and salaire >20000‬‬

‫أػط انقائًح االعًٍح نهؼًال انزكٕس انزٌٍ عُٓى =‪ ٔ 35‬أخشْى انقاػذي اقم يٍ ‪23000‬‬

‫‪7‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫األيش ‪ٌ BETWEEN‬غًر نك ْزا األيش تانثسث ػٍ يدًٕػح يٍ انثٍاَاخ ٔفق زظش ششط انثسث تٍٍ قًٍرٍٍ‬
‫إنٍك يثال ‪:‬‬
‫‪ -1‬أػط قائًح انؼًال انزٌٍ عُٓى ٌرشأذ تٍٍ ‪ 30ٔ27‬عُح‬
‫‪ -2‬أػط قائًح انؼايالخ انالئً أخشْى انقاػذي يسظٕس تٍٍ ‪195000 ٔ 175000‬‬

‫ٌؼًم ْزا األيش ػكظ ػًم األيش انغاتق زٍث ٌؼطٍك يدًٕػح قٍى خاسج يدال يؼٍٍ عُطثق ْزا االخٍش‬ ‫األيش ‪NOT BETWEEN‬‬
‫ػهى انًغاءنرٍٍ انغاتقرٍٍ‬

‫‪ -3‬أػط قائًح انؼًال انزٌٍ عُٓى ٌرشأذ خاسج انًدال ( ‪ )30...27‬عُح‬


‫‪ -4‬أػط قائًح انؼايالخ انالئً أخشْى انقاػذي انغٍش يسظٕس تٍٍ ‪195000 ٔ 175000‬‬

‫‪8‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫األيش ‪ LIKE‬ذغًر انرؼهًٍح انغاتقح تانثسث ػٍ خضء يٍ يؼهٕيح إٌ طر انرؼثٍش‪.‬‬


‫إنٍك انًثانٍٍ انرانٍٍٍ ‪:‬‬
‫‪ -1‬يا ًْ قائًح انؼًال انزٌٍ اعًٓى ٌثذأ تــ‪d :‬؟‬
‫‪ -2‬يا ًْ قائًح انؼًال انزٌٍ ٌثذأ نقثٓى تــ‪f:‬؟‬

‫‪9‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫‪ -3‬يا ًْ قائًح انؼًال انزٌٍ ٌثذأ اعًٓى تــ‪ٔ a:‬طٕنّ ‪4‬؟‬

‫يالزظاخ ‪ٌ :‬غرؼًم انشيض ) ‪ ← ( %‬ال ٌٓى ػذد األزشف‬


‫ٌغرؼًم _ )‪ (alt.+92‬نرسذٌذ ػذد األزشف‬

‫األيش ‪COUNT‬‬
‫نرسذٌذ ػذد انغدالخ انًٕخٕد ٔفق انششط انًطشٔذ‬
‫إنٍك انًثال انرانً‬
‫يا ْٕ ػذد انؼًال انزٌٍ عُٓى < ‪ 30‬عُح؟‬
‫انُرٍدح ذكٌٕ ‪ 6‬أي ػذد انؼًال انزٌٍ ْى اكثش يٍ عٍ ‪ 30‬عُح ْى عرح ػًال‬

‫انذانح ‪ MAX‬ذغًر نك انذانح انغاتقح تإػطاء اكثش قًٍح فً قٕاػذ انثٍاَاخ ٔفق ششط يؼٍٍ‬
‫أيثهح‪:‬‬
‫‪ -1‬يا ْٕ اكثش اخش قاػذي نهؼًال؟‬
‫‪ -2‬يا ْٕ اكثش عٍ نهؼًال؟‬

‫‪10‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫انذانح ‪ MIN‬ذغًر نك انذانح انغاتقح تإػطاء اطغش قًٍح فً قٕاػذ انثٍاَاخ ٔفق ششط يؼٍٍ‬

‫أيثهح‪:‬‬
‫‪ -1‬يا ْٕ اطغش اخش قاػذي نهؼًال؟‬
‫‪ -2‬يا ْٕ اطغش عٍ نهؼًال؟‬

‫انذانح ‪ AVG‬ذغًر نك ْزِ انذانح تإػطاء يرٕعط يؼذل قٍى ‪ -‬ذقٕو انذانح ترقشٌة انقًٍح إنى اقشب قًٍح طسٍسح نكٌٕ َٕع انًرغٍش ‪age‬‬
‫يٍ َٕذ طسٍر ‪integer‬‬
‫يثال ‪ :‬يا ْٕ يؼذل أػًاس انؼًال ؟‬
‫‪∑ age/nbr travailleur‬‬ ‫ذقٕو انذانح تانؼًهٍح انرانٍح‬

‫انذانح ‪ SUM‬ذقٕو انذانح انغاتقح تإػطاء يدًٕع قٍى زقم يا‬


‫يثال ‪ :‬يا ًْ قًٍح األخٕس انًٕخّ نهؼايالخ ؟‬

‫انذانح ‪ Ordre by‬تسمح لك الدالة السابقة بترتيب قيم جدول حسب حقل محدد‬
‫تصاعديا‬
‫ً‬ ‫يثال ‪ :‬نريد عرض قائمة العمال الذين سنيم أكبر من ‪ 03‬بحيث يظير ترتيب األسماء‬

‫‪11‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫واذا أردنا عرض قائمة العمال الذين سنيم أكبر من ‪ 03‬بحيث يظير ترتيب األسماء تنازليا ‪..‬نستعمل األمر ‪desc‬‬
‫تصاعديا‬
‫ً‬ ‫نريد عرض قائمة العمال الذين سنيم أكبر من ‪ 03‬بحيث يظير ترتيب األسماء ثم األلقاب‬

‫‪12‬‬
laoubi_adel@yahoo.com 5 ً‫عهغهح دسٔط دنف‬

SQL ‫إنشاء وتصميم قواعد البيانات بواسطة أوامر‬-2

‫يمكن تصميم قواعد البيانات بممسات برمجية دينامكية وأكثر سيولة ومرونة من تصميميا باستعمال برنامج متخصص‬
: ‫مفاىيم‬
‫ تسمح لك ىا تو التعميمة بتحديد المفتاح األساسي لقاعدة البيانات فبعوض استعمال الرمز (*) لتعين فيرسة البيانات‬: Prymary key
‫ نستعمل التعميمة السابقة لتحديد الحقول التي يمكن البحث بواسطتيا‬module de base de donnée ‫حسب الحقل المحدد في‬
: ‫الصيغة العامة‬
CREATE TABLE "nom de table. extension " nom de champ1 paramètres , nom de champ2
paramètres… nom de champs paramètres
,primary key(noms des champs)

: ‫بعض أنواع المتغيرات‬


‫ متغير حرفي‬CHAR -1
‫ متغير رقمي‬NUMERIC -2
‫ متغير من نوع تاريخ‬DATE -3
‫متغير من نوع وقت‬: TIME -4

chauffeur (N- permis,nom,prénom,daten , adrss ,age ,type_p ,sex.) : ‫سنحاول تصميم قاعدة البيانات التالية‬

Nom de champ Type de champ Taille index


Num_permis A :alphabétique → char 6 *
Nom A :alphabétique → char 20
Prenom A :alphabétique → char 20
daten D:date
adress A :alphabétique → char 30
age I: numerique → numeric 10:deux hombre
sex A :alphabétique → char 1
Type_p A :alphabétique → char 15

CREATE TABLE "chauffeur"

, ,
( Num_permis CHAR(6) nom CHAR(15) prénom CHAR (20) daten DATE , , adress CHAR (40), age

, , ,
NUMERIC(10) sex CHAR (1) type_p CHAR (15) PRIMARY KEY (Num_permis))

13
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬
‫إذا أردت تحديد مكان قاعدة البيانات السابقة ستجدىا في ‪ alias‬تحت اسم ‪travail‬‬
‫أو قم بتتبع صيغة البموغ التالية ‪C:\Program Files\Fichiers communs\Borland Shared\Data:‬‬
‫مالحظة ‪:‬الفيرس األب)…‪ (C:/D:/E:/F:‬يختمؼ باختالؼ مكان تنصيب برنامج ‪module de base de donnée :‬‬

‫في ىذه الحالة لقد قمنا بتصميم قاعدة البيانات ‪ chauffeur‬بواسطة استعمال أوامر ‪ SQL‬المتاحة‬
‫حاول فتح قاعدة البيانات السابقة ‪ chauffeur‬والحظ بنية حقوليا ‪:‬‬
‫الحػػظ الشكل التالي ‪:‬‬

‫قم بحجز البيانات حسب الشكل التالي ‪:‬‬

‫‪14‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫تصميم برنامج في دلفي لتنفيذ أوامر ‪ SQL‬ذاتيا‬

‫خطوات البرمجة ‪:‬‬


‫‪ .1‬فتح مشروعا جديدا‬
‫‪Access BD‬‬ ‫‪ .0‬احضر المركبتين ‪ query‬و ‪table‬من شريط المكبات‬
‫‪ .5‬إضافة المركبتين ‪data source1 ,data source2‬‬
‫‪ .4‬إضافة المركبتين ‪dbgride1 ,dbgrid2‬‬
‫‪ .3‬إضافة المركبة ‪bouton‬‬
‫‪memo1‬‬ ‫‪ .6‬إضافة المركبة‬

‫مالحظات ‪:‬سبق وان قمنا بإنشاء قاعدة البيانات ‪ chauffeur.db‬بواسطة ‪ module base de données‬وتم حفظيا في‬
‫الــ‪ alias :‬التالية ‪ laoubi_adel :‬اآلن سنقوم بعممية الربط الفيزيائية لممركبات الخاصة بالبيانات‬
‫‪-1‬ربط المركبة ‪ table1‬بقاعدة البيانات الفيزيائية‬
‫آلية التنفيذ ‪:‬‬
‫‪ -1‬تحديد المركبة ‪table1‬‬
‫‪ -0‬تغيير الخاصية ‪ data base name‬بــ‪laoubi_adel--alias :‬‬
‫‪ -5‬تحديد اسم قاعدة البيانات بواسطة الخاصية ‪ table name‬وذلك باختيار ‪travailleur.db‬‬
‫‪ -4‬تفعيل وفتح قاعدة البيانات بواسطة الخيار ; ‪active :=true‬‬

‫‪ -0‬ربط المركبة ‪ data source1‬بػ ‪table1‬‬


‫آلية التنفيذ‪:‬‬
‫‪ -1‬تحديد المركبة ‪data source1‬‬
‫‪ -0‬تغيير الخاصية ‪ data set‬ب ـ ‪table1‬‬
‫‪-3‬ربط المركبة ‪ dbgrid1‬بالمركبة ‪data source1‬‬
‫آلية التنفيذ‬
‫‪ -1‬تحديد المركبة ‪dbgrid1‬‬
‫‪ -0‬تغيير الخاصية ‪ data source‬ب ـ ‪data source1:‬‬
‫مالحظة ‪ :‬ربط المركبة ‪ query1‬بـنفس ‪laoubi_adel …………alias‬‬
‫‪ -‬ربط المركبة ‪ query1‬مع المركبة ‪ data source2‬بنفس الطريقة السابقة وكذلك بالنسبة لعممية الربط بين‬
‫‪15‬‬
laoubi_adel@yahoo.com 5 ً‫عهغهح دسٔط دنف‬
data source2 ‫ و‬Dbgrid2
string ‫ وذلك بواسطة الخاصية‬memo1 ‫ الموجود في المركبة‬memo1 ‫قم بمحو المحتوى‬

: ‫ربط المركبات برمجيا‬


botton1 ‫يمكنك ربط المركبات السابقة برمجيا وذلك بتحرير األوامر التالية في المركبة‬
Begin
Table1.databasename :=’laoubi_adel’;
Data source1.data set :=table1;
Dbgrid1.datasource:=datasource1;
Table1.active:=true;

Query1. databasename :=’laoubi_adel’;


Data source2.data set :=query1;
Dbgrid2.datasource:=datasource2;
End:

Data dbgrid1

base
name Dbgrid2

‫ بعد عممية الربط الفيزيائية سنقوم اآلن بعممية البرمجة‬-


caption : ‫ وذلك بواسطة الخاصية‬exécuté SQL: ‫ ب ـ‬bouton1 ‫ قم بتسمية ماىية الزر‬-
: ‫ وحرر األمر التالي‬bouton1 ‫انقر نق ار مزدوجا عمى المركبة‬
Query1.sql :=memo1.lines ;
Query1.open ;

16
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫مالحظات‪ :‬البرنامج السابق ليس مكيف لمعمل مع قاعدة البيانات ‪ chauffeur‬فقط‪ .‬يمكن تطوير البرنامج وذلك بإضافة‬
‫خيارات تحديد اسم قاعدة البيانات والــ‪ alias :‬المتواجدة بيا ‪..‬‬

‫الطباعة في دلفي ‪:‬‬


‫يتيح لك دلفي إمكانية التعامل مع البيانات وطباعتيا وذلك بتوفير مجموعة ال بأس بيا من المركبات ‪.‬سأحاول تقديم شرح لكيفية التعامل مع‬
‫الطباعة من ناحية ‪:‬‬
‫‪ -1‬طباعة البيانات‬
‫‪ -2‬طباعة الصور‬
‫‪........ -3‬‬

‫تعريؼ المركبة ‪ QuickRep1:‬تسمح لك ىذه المركبة بطباعة البيانات مع إضافة خيرات متعددة‬
‫يمكنك تحديد إيجاد المركبة السابقة في شريط المركبات ‪Qreport‬‬
‫شرح بعض مركبات الشريط ‪Qreport‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬


‫‪ -1‬المركبة‬
‫‪ -0‬المركبة ‪Qelabel‬‬
‫‪ -5‬المركبة ‪Qrdbtext‬‬

‫التعيين‬ ‫المركبة‬
‫‪ QuickRep1‬صفحة العمل والعرض والطباعة‬
‫‪ Qlabel‬لتحديد العناوين والكتابة مثال رقم الياتف ‪.‬االسم‪....‬‬
‫‪ Qrdbtext‬لعرض قيم الحقول‬
‫‪ QRSysData1‬لعرض أدوات النظام مثل الساعة التاريخ‪...‬رقم الصفحة ‪...‬‬
‫‪ QRExpr1‬لعرض تعميق أو عبارة‬

‫‪17‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫شرح الخاصية ‪Bands‬‬


‫تسمح لك ىذه الخاصية بعرض أجزاء ورقة العمل وذلك وفق الجدول التالي ‪:‬‬
‫الداللة‬ ‫المركبة‬
‫لعرض عناوين األعمدة‬ ‫‪1‬‬
‫لعرض التفاصيل‬ ‫‪0‬‬
‫‪1‬‬

‫‪2‬‬ ‫لعرض ممخص الصفة‬ ‫‪5‬‬


‫لعرض مقدمة محتوى الصفحة‬ ‫‪4‬‬

‫‪3‬‬

‫‪4‬‬

‫تخطيط ورقة الطباعة وتصميميا ‪:‬‬


‫سنحاول تصميم وتخطيط ورقة الطباعة حسب قاعدة البيانات ‪chauffeur . db‬‬
‫)‪chauffeur (N- permis,nom,prénom,daten , adrss ,age ,type_p ,sex.‬‬
‫لدينا عدد الحقول =‪ 8‬حقول ىذا يعني انو يمزمنا‪:‬‬
‫‪ -1‬إحضار‪ 14‬مركبات من نوع‪Qlabel‬‬
‫‪ -0‬إحضار ‪ 8‬مركبات من نوع ‪Qrdbtext‬‬

‫‪18‬‬
laoubi_adel@yahoo.com 5 ً‫عهغهح دسٔط دنف‬

: ‫إليك تصميم الصفحة المقترح‬

ٍ‫ ي‬َٙ‫ذ يٍ انًؼهٕياخ ساجغ انجضء انثا‬ٚ‫ نًض‬ٙ‫ى َافزج صاسيح ٔرنك ػهٗ َحٕ انشكم انتان‬ًٛ‫ء لى تتص‬ٙ‫أٔال ٔلثم كم ش‬
. ‫إصذاس ْزا انكتاب‬

‫طثاػح‬

: ٙ‫ى صفحح انطثاػح ػهٗ انُحٕ انتان‬ًٛ‫ٌ تص‬ٜ‫ى عُحأل ا‬ًٛ‫ح انتص‬ٛ‫او تؼًه‬ٛ‫تؼذ انم‬

La république algérienne démocratique et Qrlabel


populaire Qrlabe0
Ministre de transport Qrlabe5
Direction de m’sila Qrlabe4
Secteur de : ain el hadjel
Fiche conducteur Qrlabe5
Numéro de permis :………………. Qrlabe6. :……………….

Nom :…………….. Prénom. :……………. QRLabel7 :………QRLabel8. :……………

Date de naissance :…………….. QRLabel9:…………. QRLabel12:…………


sex. :…………
QRLabel1:…………… ……………….
Adresse :…………………………………….
QRLabel0:……………… QRLabel5:……...
Type de permis :…………………age :……...

Dérecteur Qrlabel4

19
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫ػُذ انتًؼٍ ف‪ ٙ‬تصً‪ٛ‬ى انٕسلح َالحظ يا ‪ٚ‬ه‪: ٙ‬‬


‫‪ -1‬إٌ سأط انصفحح ‪ٚ‬حتٕ٘ ػهٗ ت‪ٛ‬اَاخ ال تتغ‪ٛ‬ش ػهٗ األلم يثذئ‪ٛ‬ا ْٔزِ انًؼهٕياخ ْ‪: ٙ‬‬

‫‪La république algérienne démocratique et populaire‬‬ ‫انذٔنح‬


‫‪Ministre de transport‬‬ ‫انٕصاسج انٕص‪ٛ‬ح‬
‫‪Direction de m’sila‬‬ ‫انًذ‪ٚ‬ش‪ٚ‬ح‬
‫‪Secteur de : ain el hadjel‬‬ ‫انفشع‬
‫‪Fiche conducteur‬‬ ‫اعى انٕثٍقح‬

‫‪-0‬ػُأ‪ ٍٚ‬انحمٕل ‪ ْٙٔ :‬دالالخ نتحذ‪ٚ‬ذ ياْ‪ٛ‬ح انًؼهٕيح‬


‫ْٔ‪ ٙ‬دائًا ثاتتح ٔال تتغ‪ٛ‬ش إال ف‪ ٙ‬حانح تغ‪ٛ‬ش تصً‪ٛ‬ى انٕسلح اإلداس٘ ُْٔا ‪ٚ‬مٕو انًثشيج تإػادج حم انثشَايج ٔتغ‪ٛٛ‬ش‬
‫‪.‬سلى انشخصح………………‪Numéro de permis :‬‬
‫يا ‪ٚ‬جة تغ‪ٛٛ‬شِ‬

‫‪……….‬االعى……‪…….. Prénom. :‬انهمة………‪Nom :‬‬

‫انجُظ‪….. sex. :‬تاس‪ٚ‬خ انً‪ٛ‬الد… …‪Date de naissance :‬‬

‫‪……….‬انؼُٕاٌ……‪Adresse :‬‬

‫‪…...‬انغٍ…‪َٕ……age :‬ع انشخصح……‪Type de permis :‬‬

‫انًذ‪ٚ‬ش ‪Dérecteur‬‬

‫يالحظاخ ‪َ :‬الحظ إٌ ػذد انم‪ٛ‬ى انًتغ‪ٛ‬شج ف‪ ٙ‬كم حانح ْ‪ 8: ٙ‬ل‪ٛ‬ى ٔرنك ساجغ نؼذد انحمٕل انًشاد طثاػتٓا ٔف‪ ٙ‬حانتُا ْزِ‬
‫نذ‪ُٚ‬ا ‪ 8‬حمٕل ٔ انخاصح تماػذج انث‪ٛ‬اَاخ(‪ )chauffeur‬ح‪ٛ‬ث اَّ التذ أٌ ‪ٚ‬كٌٕ ػذد انث‪ٛ‬اَاخ يشاد ػشضٓا يتٕافك يغ‬
‫ػذد انًشكثح ‪ Qrdbtext‬انًتخصصح ف‪ ٙ‬ػشض ل‪ ٙ‬انتغج‪ٛ‬ه‪ٛ‬ح انحان‪ٛ‬ح‬

‫‪Numéro de permis :……………Qdbtext1.‬‬


‫الحظ انشكم انتان‪: ٙ‬‬
‫‪Nom :… Qdbtext2. …….. Prénom. :…… Qdbtext3.‬‬

‫‪Date de naissance :…Qdbtext4. sex. : Qdbtext5.‬‬

‫‪Adresse :…… Qdbtext6.‬‬

‫‪Type de permis : … Qdbtext7.……age :… Qdbtext8.‬‬

‫‪Qdbtext‬‬ ‫‪ -2-‬يخطظ تٕض‪ٛ‬ح‪ ٙ‬نتُظ‪ٛ‬ى تًٕلغ انًشكثاخ‬

‫‪20‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫ذطثٍق انرظًٍى ػهى ٔسقح انطثاػح ‪ QuickRep1:‬فً دنفً‬

‫ف‪َ ٙ‬فظ انًششٔع انغاتك لى تًا ‪ٚ‬ه‪: ٙ‬‬


‫‪ -‬تإحضاس انًشكثح ‪ QuickRep1‬يٍ شش‪ٚ‬ظ انًشكثاخ ‪Qerport:‬‬ ‫‪1‬‬
‫لى تتفؼ‪ٛ‬م انُطاق ‪ٔ détail‬رنك يٍ خالل انخاص‪ٛ‬ح ‪bands‬‬ ‫‪0‬‬
‫لى تتٕع‪ٛ‬غ انُطاق ‪ détail‬نك‪ٚ ٙ‬تُاعة يغ ػذد ت‪ٛ‬اَاتك‬ ‫‪5‬‬
‫لى تإحضاس ‪ 14‬يشكثح يٍ َٕع ‪Qrlabel‬‬ ‫‪4‬‬
‫حأل تصً‪ٛ‬ى ٔسلح انطثاػح ٔرل تتٕص‪ٚ‬غ انًشكثاخ انغاتمح ف‪َ ٙ‬طاق انٕسلح كًا ْٕ يحذد ف‪ ٙ‬انشكم‬ ‫‪3‬‬
‫‪-0-‬‬
‫لى تتغ‪ٛٛ‬ش يحتٕٖ انًشكثاخ تٕاعطح تحذ‪ٚ‬ذ انخاص‪ٛ‬ح ‪ Caption‬ػهٗ انُحٕ انتان‪: ٙ‬‬ ‫‪6‬‬

‫‪-‬‬ ‫)‪Qrlabel.caption :=( La république algérienne démocratique et populaire‬‬


‫‪-‬‬ ‫)‪Qrlabe2.caption :=( Ministre de transport‬‬
‫‪-‬‬ ‫)‪Qrlabe3.caption :=( Direction de m’sila‬‬
‫‪-‬‬ ‫)‪Qrlabe4.caption :=( Secteur de : ain el hadjel‬‬
‫‪-‬‬ ‫)‪Qrlabel5.caption :=( Fiche conducteur‬‬
‫‪-‬‬ ‫)‪Qrlabe6.caption :=(numéro de permis‬‬
‫‪-‬‬ ‫)‪Qrlabe7.caption :=(Nom‬‬
‫‪-‬‬ ‫)‪Qrlabe8.caption :=(Prénom‬‬
‫‪-‬‬ ‫)‪Qrlabe9.caption :=(Date de naissance‬‬
‫‪-‬‬ ‫)‪Qrlabel0.caption :=(Sex.‬‬
‫‪-‬‬ ‫)‪Qrlabel1.caption :=(type de permis‬‬
‫‪-‬‬ ‫)‪Qrlabel2.caption :=(age‬‬
‫‪-‬‬ ‫)‪Qrlabel3.caption :=(Nom‬‬
‫‪-‬‬ ‫)‪Qrlabel.caption :=(directeur‬‬
‫بعد القيام بعممية توزيع المركبات‬
‫‪-8‬قم بإحضار ‪ 8‬مركبات من نوع ‪ dbqrlabel‬من نفس شريط المركبات ‪Qerport:‬‬
‫‪-9‬لى تتخص‪ٛ‬ص يٕلغ ْزِ انًشكثاخ انثًاَ‪ٛ‬ح تحغة تًٕلغ ػُأ‪ ٍٚ‬انحمٕل ٔرنك حغة انشكم ‪-0-‬‬

‫ستط انًشكثاخ ‪ Qrdbtext‬يغ زقٕل قاػذج انثٍاَاخ ‪chauffeur‬‬

‫نُفشض أٌ يكاٌ تٕاجذ انًشكثح ‪ QuickRep1:‬ف‪ form1 ٙ‬أ٘ أَُا عُغتؼًم َفظ انًشكثت‪data source1ٔ table1 ٍٛ‬‬
‫ٔرنك يٍ اجم إحضاس انث‪ٛ‬اَاخ ٔػشضّ ػهٗ ٔسلح انطثاػح ‪.‬‬
‫آن‪ٛ‬ح انشتظ ‪:‬‬
‫‪ -1‬لى تتحذ‪ٚ‬ذ انًشكثح ‪Qrdbtext1‬‬
‫‪ -0‬لى تتغ‪ٛٛ‬ش يحتٕٖ انخاص‪ٛ‬ح ‪ data set‬ب انم‪ًٛ‬ح ‪table1‬‬
‫‪ -5‬لى تتحذ‪ٚ‬ذ انحمم انًشاد ػشضّ يٍ خالل تحذ‪ٚ‬ذ ل‪ًٛ‬تّ يٍ انخاص‪ٛ‬ح ‪data Field‬‬
‫يالحظح ‪ :‬اٌ ػًه‪ٛ‬ح ستظ انحمٕل ف‪ٔ ٙ‬سلح انطثاػح ْ‪َ ٙ‬فغٓا تمش‪ٚ‬ثا ػُذ ستظ انحمٕل يٍ اجم ػًه‪ٛ‬ح ػشض انث‪ٛ‬اَاخ ‪:‬‬
‫الحظ انشكم انتان‪: ٙ‬‬
‫لى تتكش‪ٚ‬ش َفظ انؼًه‪ٛ‬ح يغ تال‪ ٙ‬انًشكثاخ يغ يشاػاج ػُٕاٌ انحمم (تحذ‪ٚ‬ذ ل‪ًٛ‬ح انحمم حغة دالنح انؼشض)‬

‫‪21‬‬
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬

‫طفسح انطثاػح تؼذ انقٍاو تؼًهٍح انشتط‬


‫‪-:1‬ػُٕاٌ انحمم ‪-:0‬ل‪ًٛ‬ح انحمم(تانُغثح نهتغج‪ٛ‬هح انُشطح )‬

‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬

‫اآلن لم يبق لنا إال تحديد مكان لورقة الطباعة وذلك بالقيام بعممية إخفائيا لكي ال تشوه ىيئة البرنامج أثناء التنفيذ‬
‫ثم تحرير األمر التالي ‪ :‬في الزر ‪ BOUTTON‬الذي يحمل الداللة ‪)on click( imprimer‬‬
‫‪begin‬‬
‫;‪QuickRep1.preview‬‬
‫;‪end‬‬

‫من المعروف أن عممية الطباعة تكون حسب المنيج التالي ‪:‬‬


‫‪ -1‬البحث عن البيانات المراد طباعتيا‬
‫‪ -0‬التأكد من المعمومة‬
‫‪ -5‬عممية الطباعة‬
‫مثال ‪ :‬نريد طباعة بيانات السائق الذي يحمل رخصة السياقة رقم ‪221034 :‬‬
‫‪ -1‬حجز قيمة رقم رخصتو‬
‫‪ -0‬البحث عن القيمة‬
‫‪ -5‬طباعة البيانات في حالة وجودىا‬

‫‪22‬‬
laoubi_adel@yahoo.com 5 ً‫عهغهح دسٔط دنف‬

23
‫‪laoubi_adel@yahoo.com‬‬ ‫عهغهح دسٔط دنفً ‪5‬‬
‫الشكل النيائي لورقة الطباعة‬

‫‪27‬‬

‫ىناك عدة خيارات يمكن تطبيقيا عمى ورقة الطباعة كرسم الجداول واضافة دوال الحساب و الصور ‪....‬الخ‬
‫لكن نكتفي بيذا القدر ‪.....‬‬

‫‪24‬‬

Vous aimerez peut-être aussi