0% ont trouvé ce document utile (0 vote)
221 vues18 pages

Delphi SQL

Ce document décrit le langage de requête SQL et donne des exemples d'utilisation avec une base de données exemple sur des employés. Il explique les concepts de base du langage SQL et les étapes pour exécuter des requêtes sur une base de données.

Transféré par

Djelloul Benoudina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
221 vues18 pages

Delphi SQL

Ce document décrit le langage de requête SQL et donne des exemples d'utilisation avec une base de données exemple sur des employés. Il explique les concepts de base du langage SQL et les étapes pour exécuter des requêtes sur une base de données.

Transféré par

Djelloul Benoudina
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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 ‫انششط‬
Travailleur (code,nom , prénom ,daten , age , adrs,salaire ,sex): ‫ إنٍك لاػذج انثٍاَاخ انتانٍح‬: 1‫يثال‬
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

‫يا ًْ أسًاء ٔ أنماب خًٍغ انؼًال ؟‬-


Nom Prénom
Select nom ,prénom
Bel hadi bachir
From travailleur
Fadli djamel
ghadbane doaa
Zaidi Kamel
Laoubi Adel
Kouidri Nourdine
Sadaoui doaa
Khebal Khemissi
Fadli Mohamed
Nekbil Kamel
195000 ٍ‫يا ًْ لائًح انؼًال انزٌٍ أخشْى انماػذي اكثش ي‬
Select *
From travailleur
Where salaire >195000
Select prénom
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

70000= ‫أػط أسًاء انؼًال انزٌٍ أخشْى انماػذي‬


From travailleur
where salaire =70000 doaa

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


Select *
From travailleur
Where sex=’f’
003 ghadbane doaa 10/07/1980 30 Rue h11 115000 F
007 Sadaoui doaa 12/12/1975 35 Sidi aiche 70000 F
1
‫يا ْٕ اسى ‪.‬نمة ٔ ػُٕاٌ انؼايم انزي سلًّ = ‪005‬؟‬
‫‪Select nom, prénom, adresse‬‬
‫‪From travailleur‬‬
‫’‪Where code =’005‬‬
‫‪Laoubi Adel‬‬ ‫‪Rue somam‬‬

‫أػط انمائًح االسًٍح نهؼًال انزٌٍ انًٕنٕدٌٍ لثم تؼذ تاسٌخ ‪1980/07/10:‬‬
‫* ‪Select‬‬
‫‪From travailleur‬‬
‫‪Where daten >10/07/1980‬‬
‫‪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‬‬

‫‪ 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‬‬
‫‪Code‬‬ ‫‪Nom‬‬ ‫‪Prénom‬‬ ‫‪Adresse‬‬
‫‪005 Laoubi‬‬ ‫‪Adel‬‬ ‫‪Rue somam‬‬

‫‪x‬‬

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

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


‫‪ -1‬تسذٌذ ‪ alias‬يكاٌ تٕاخذ لٕاػذ انثٍاَاخ‬
‫‪ -2‬انثسث ػٍ ػثاسج ج يا فً يسشس ‪SQL‬‬
‫‪-3‬تُفٍز انًساءنح ‪SQL‬‬
‫‪ -4‬ػًهٍح انظك ‪coller‬‬
‫‪-5‬ػًهٍح انُسخ ‪copier‬‬
‫‪ -6‬ػًهٍح انمض ‪couper‬‬
‫‪2‬‬
‫يالزظح‪ :‬التذ يٍ تسذٌذ انـ ‪ alias‬لثم تذاٌح انؼًم )إَشاء ‪ alias‬فً ‪.(module base de données‬‬
‫نتكٍ ‪ alias‬انتانٍح ‪ ٔ laoubi_adel‬انتً تسٕي لاػذج انثٍاَاخ انساتمح – )‪(travailleur‬‬

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


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

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


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

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

‫‪3‬‬
‫‪-‬يا ًْ أسًاء ٔ أنماب خًٍغ انؼًال ؟‬

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

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

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

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

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

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


‫األيش ‪ٚ : AND‬غًح نك األيش انغاتك تذيج ششط‪ ٍٛ‬أٔ أكثش ف‪ ٙ‬ػه‪ٛ‬ح انثحث‬
‫يثال ‪ :‬أػط انمائًح االسًٍح نهؼًال انزٌٍ سُٓى =‪ٔ 35‬أخشْى انماػذي ٌفٕق ‪20000‬‬
‫* ‪select‬‬
‫‪from travailleur‬‬
‫‪where age=35 and salaire >20000‬‬

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

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

‫‪6‬‬
‫ٌؼًم ْزا األيش ػكس ػًم األيش انساتك زٍث ٌؼطٍك يدًٕػح لٍى خاسج يدال يؼٍٍ سُطثك ْزا االخٍش‬‫األيش ‪NOT BETWEEN‬‬
‫ػهى انًساءنتٍٍ انساتمتٍٍ‬
‫‪ -3‬أػط لائًح انؼًال انزٌٍ سُٓى ٌتشأذ خاسج انًدال ( ‪ )30...27‬سُح‬
‫‪ -4‬أػط لائًح انؼايالخ انالئً أخشْى انماػذي انغٍش يسظٕس تٍٍ ‪195000 ٔ 175000‬‬

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


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

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

‫‪7‬‬
‫يالزظاخ ‪ٌ :‬ستؼًم انشيز ) ‪ ← ( %‬ال ٌٓى ػذد األزشف‬
‫ٌستؼًم _ )‪ (alt.+92‬نتسذٌذ ػذد األزشف‬

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

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

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

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

‫انذانح ‪ AVG‬تسًر نك ْزِ انذانح تإػطاء يتٕسط يؼذل لٍى ‪ -‬تمٕو انذانح تتمشٌة انمًٍح إنى الشب لًٍح طسٍسح نكٌٕ َٕع انًتغٍش ‪age‬‬
‫يٍ َٕذ طسٍر ‪integer‬‬

‫‪8‬‬
‫يثال ‪ :‬يا ْٕ يؼذل أػًاس انؼًال ؟‬
‫‪∑ age/nbr travailleur‬‬ ‫تمٕو انذانح تانؼًهٍح انتانٍح‬

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


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

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

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

‫‪9‬‬
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))

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

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

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

‫خطوات البرمجة ‪:‬‬ ‫تصميـ برنامج في دلفي لتنفيذ أوامر ‪ SQL‬ذاتيا‬


‫‪ .1‬فتح مشروعا جديدا‬
‫‪Access BD‬‬ ‫‪ .2‬احضر المركبتين ‪ query‬و ‪table‬من شريط المكبات‬
‫‪ .3‬إضافة المركبتين ‪data source1 ,data source2‬‬
‫‪ .4‬إضافة المركبتين ‪dbgride1 ,dbgrid2‬‬
‫‪ .5‬إضافة المركبة ‪bouton‬‬
‫‪memo1‬‬ ‫‪ .6‬إضافة المركبة‬
‫مالحظات ‪:‬سبق وان قمنا بإنشاء قاعدة البيانات ‪ chauffeur.db‬بواسطة ‪ module base de données‬وتم حفظيا في‬
‫الــ‪ alias :‬التالية ‪ laoubi_adel :‬اآلن سنقوم بعممية الربط الفيزيائية لممركبات الخاصة بالبيانات‬

‫آلية التنفيذ ‪:‬‬ ‫‪-1‬ربط المركبة ‪ table1‬بقاعدة البيانات الفيزيائية‬


‫‪ -1‬تحديد المركبة ‪table1‬‬
‫‪ -2‬تغيير الخاصية ‪ data base name‬بــ‪laoubi_adel--alias :‬‬
‫‪ -3‬تحديد اسم قاعدة البيانات بواسطة الخاصية ‪ table name‬وذلك باختيار ‪travailleur.db‬‬
‫‪ -4‬تفعيل وفتح قاعدة البيانات بواسطة الخيار ; ‪active :=true‬‬

‫‪11‬‬
‫‪ -2‬ربط المركبة ‪ data source1‬بػ ‪ table1‬آلية التنفيذ‬
‫‪ -1‬تحديد المركبة ‪data source1‬‬
‫‪ -2‬تغيير الخاصية ‪ data set‬ب ـ ‪table1‬‬
‫‪-3‬ربط المركبة ‪ dbgrid1‬بالمركبة ‪ data source1‬آلية التنفيذ‬
‫‪ -1‬تحديد المركبة ‪dbgrid1‬‬
‫‪ -2‬تغيير الخاصية ‪ data source‬ب ـ ‪data source1:‬‬
‫مالحظة ‪ :‬ربط المركبة ‪ query1‬بـنفس ‪laoubi_adel …………alias‬‬
‫‪ -‬ربط المركبة ‪ query1‬مع المركبة ‪ data source2‬بنفس الطريقة السابقة وكذلك بالنسبة لعممية الربط بين‬
‫‪ Dbgrid2‬و ‪data source2‬‬
‫قم بمحو المحتوى ‪ memo1‬الموجود في المركبة ‪ memo1‬وذلك بواسطة الخاصية ‪string‬‬

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


‫يمكنك ربط المركبات السابقة برمجيا وذلك بتحرير األوامر التالية في المركبة ‪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‬‬

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


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

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

‫‪12‬‬
‫الطباعة في دلفي ‪:‬‬
‫يتيح لؾ دلفي إمكانية التعامؿ مع البيانات وطباعتيا وذلؾ بتوفير مجموعة ال بأس بيا مف المركبات ‪.‬سأحاوؿ تقديـ شرح لكيفية التعامؿ مع‬
‫الطباعة مف ناحية ‪:‬‬
‫‪ -1‬طباعة البيانات‬
‫‪ -2‬طباعة الصور‬
‫‪........ -3‬‬
‫تعريؼ المركبة ‪ QuickRep1:‬تسمح لؾ ىذه المركبة بطباعة البيانات مع إضافة خيرات متعددة يمكنؾ تحديد إيجاد المركبة السابقة في‬
‫شريط المركبات ‪Qreport‬‬
‫‪Qlabel‬لتحديد العناويف والكتابة مثاؿ رقـ الياتؼ ‪.‬االسـ‪....‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫لعرض قيـ الحقوؿ‬ ‫‪Qrdbtext‬‬
‫‪QRSysData1‬لعرض أدوات النظاـ مثؿ الساعة التاريخ‪...‬رقـ الصفحة ‪...‬‬
‫لعرض تعميؽ أو عبارة‬ ‫‪QRExpr1‬‬
‫‪ QuickRep1‬صفحة العمل والعرض والطباعة‬
‫شرح الخاصية ‪ Bands‬تسمح لك ىذه الخاصية بعرض أجزاء ورقة العمل وذلك وفق الجدول التالي ‪:‬‬
‫الداللة‬ ‫المركبة‬
‫لعرض عناوين األعمدة‬ ‫‪1‬‬
‫لعرض التفاصيل‬ ‫‪2‬‬
‫‪1‬‬
‫‪2‬‬ ‫لعرض ممخص الصفة‬ ‫‪3‬‬

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

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

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

‫طثاػح‬

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

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


populaire Qrlabe2
Ministre de transport Qrlabe3
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:…………. QRLabel11:…………


sex. :…………
QRLabel1:…………… ……………….
Adresse :…………………………………….
QRLabel2:……………… QRLabel3:……...
Type de permis :…………………age :……...

Dérecteur Qrlabel4

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

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


Ministre de transport ‫ح‬ٛ‫انٕصاسج انٕص‬
Direction de m’sila ‫ح‬ٚ‫ش‬ٚ‫انًذ‬
Secteur de : ain el hadjel ‫انفشع‬
Fiche conducteur ‫اسى انٕثٍمح‬
‫ى انٕسلح‬ًٛ‫ش تص‬ٛ‫ حانح تغ‬ٙ‫ش إال ف‬ٛ‫ دائًا ثاتتح ٔال تتغ‬ْٙٔ ‫ح انًؼهٕيح‬ْٛ‫ذ يا‬ٚ‫ دالالخ نتحذ‬ْٙٔ : ‫ٍ انحمٕل‬ٚٔ‫ػُا‬-2
ِ‫ش‬ٛٛ‫جة تغ‬ٚ ‫ش يا‬ٛٛ‫مٕو انًثشيج تإػادج حم انثشَايج ٔتغ‬ٚ ‫اإلداس٘ ُْٔا‬
Numéro de permis :………………‫سلى انشخصح‬.

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

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

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

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

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

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


ً‫ فً دنف‬QuickRep1: ‫تطثٍك انتظًٍى ػهى ٔسلح انطثاػح‬
: ٙ‫ه‬ٚ ‫ َفظ انًششٔع انغاتك لى تًا‬ٙ‫ف‬
Qerport: ‫ظ انًشكثاخ‬ٚ‫ يٍ شش‬QuickRep1 ‫●لى تإحضاس انًشكثح‬
bands ‫ح‬ٛ‫ ٔرنك يٍ خالل انخاص‬détail ‫م انُطاق‬ٛ‫●لى تتفؼ‬
‫اَاتك‬ٛ‫تُاعة يغ ػذد ت‬ٚ ٙ‫ نك‬détail ‫غ انُطاق‬ٛ‫●لى تتٕع‬
Qrlabel ‫ يشكثح يٍ َٕع‬14 ‫●لى تإحضاس‬
-2- ‫ انشكم‬ٙ‫ َطاق انٕسلح كًا ْٕ يحذد ف‬ٙ‫غ انًشكثاخ انغاتمح ف‬ٚ‫ى ٔسلح انطثاػح ٔرنك تتٕص‬ًٛ‫●حأل تص‬
: ٙ‫ ػهٗ انُحٕ انتان‬Caption ‫ح‬ٛ‫ذ انخاص‬ٚ‫ش يحتٕٖ انًشكثاخ تٕاعطح تحذ‬ٛٛ‫●لى تتغ‬
- Qrlabel.caption :=( La république algérienne démocratique et populaire)
- Qrlabe2.caption :=( Ministre de transport) - Qrlabe9.caption :=(Date de naissance)
- Qrlabe3.caption :=( Direction de m’sila) - Qrlabel0.caption :=(Sex.)
- Qrlabe4.caption :=( Secteur de : ain el hadjel) - Qrlabel1.caption :=(type de permis)
- Qrlabel5.caption :=( Fiche conducteur) - Qrlabel2.caption :=(age)
- Qrlabe6.caption :=(numéro de permis) - Qrlabel3.caption :=(Nom)
- Qrlabe7.caption :=(Nom) - Qrlabel.caption :=(directeur)
- Qrlabe8.caption :=(Prénom)

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

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


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

‫‪1‬‬ ‫‪2‬‬
‫‪1‬‬

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

‫‪17‬‬
‫الشكؿ النيائي لورقة الطباعة‬

‫‪27‬‬

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

‫‪18‬‬

Vous aimerez peut-être aussi