لبيك يا الله



حديث قدسىعن رب العزة جلا وعلاعن أبي هريرة ـ رضي الله عنه قال: قال رسول الله صلى الله عليه وسلم: “إن الله إذا أحب عبداً دعا له جبريل، عليه السلام، فقال: إني أحب فلانا فأحبه، قال: فيحبه جبريل، ثم ينادي في السماء فيقول: إن الله يحب فلانا فأحبوه، فيحبه أهل السماء، قال: ثم يوضع له القبول في الأرض، وإذا أبغض الله عبداً، دعا جبريل، فيقول: إني أبغض فلانا فأبغضه، فيبغضه جبريل، ثم ينادي في أهل السماء: إن الله يبغض فلاناً، فأبغضوه، قال: فيبغضونه، ثم توضع له البغضاء في الأرض”.
المواضيع الأخيرة
كل عام وانتم بخيرالجمعة 23 أبريل - 16:08رضا السويسى
كل عام وانتم بخيرالخميس 7 مايو - 22:46رضا السويسى
المسح على رأس اليتيم و العلاج باللمسالأربعاء 22 أغسطس - 14:45البرنس
(16) ما أجمل الغنائمالجمعة 11 أغسطس - 18:51رضا السويسى
مطوية ( وَخَابَ كُلُّ جَبَّارٍ عَنِيدٍ)الأحد 9 أغسطس - 19:02عزمي ابراهيم عزيز
مطوية ( وَآتُوا الْيَتَامَى أَمْوَالَهُمْ)السبت 8 أغسطس - 12:46عزمي ابراهيم عزيز
مطوية ( إِنَّنِي مِنَ الْمُسْلِمِينَ )الأربعاء 5 أغسطس - 18:34عزمي ابراهيم عزيز



اذهب الى الأسفل
عبد الرحمن
عبد الرحمن
لبيك يا الله
الرسائل
النقاط
البلد

(3) الطباعة دون تقرير SQL Empty (3) الطباعة دون تقرير SQL {الجمعة 28 أكتوبر - 21:50}

أخذنا في الدرس الماضي طباعة قاعدة البيانات عن طريق التقرير . والأن سوف نتحدث عن
كيفية الطباعة دون أي تقرير أو أدوات أخرى.



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



باستخدام كائن الطباعة Printer Object



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





ونحن نعرف أن قاعدة البيانات التي نعمل بها من ثلاث حقول وهي:



tell : رقم الهاتف



name : الإسم



adr : العنوان







والجدول DBGrid1 يتكون من



أعمدة Column وتختصر Col



صفوف Row







والأن سوف نطبع كل عمود وصف عن طريق حلقة التكرار و كائن الطباعة Printer Object







ضع الكود التالي في قسم التصريحات العامة General





Private
Sub PrintFont(sFontName
As
String, _

nFontSize As Integer,
_

bFontBold As Boolean, _

bFontItalic As Boolean, _

bFontUnderline As Boolean)

Printer.FontName = sFontName

Printer.FontSize = nFontSize

Printer.FontBold = bFontBold

Printer.FontItalic = bFontItalic

Printer.FontUnderline = bFontUnderline

End Sub

وهو تحديد خصائص الخط الذي سف يظهر على الطابعة.







بعد ذلك ضع الكود التالي : إتجاه الطباعة





Private
Sub PrintText(fXCoordinate
As Single, _

fYCoordinate As Single, _

sText As String)


Dim lStart As
Long

Dim lIndex As
Long



Printer.CurrentX = fXCoordinate

Printer.CurrentY = fYCoordinate



lStart = 1

lIndex = InStr(lStart, sText, vbCrLf)

Do While lIndex <> 0

Mid$(sText, lIndex, 2) = ' '

lStart = lStart + lIndex

lIndex = InStr(lStart, sText, vbCrLf)

Loop

Printer.Print sText

End Sub


وبعد ذلك ضع الكود التالي :





Private
Sub ResultsPrint()

Dim nLoopCtr As
Integer

Dim sOutput(2) As
String

Dim nScaleMode As
Integer

nScaleMode = Printer.ScaleMode

Printer.ScaleMode = vbInches



'عليك أن تضيف بنفس الطريقة التالية حسب عدد الأعمدة


DBGrid1.Row = 0

DBGrid1.Col = 0

sOutput(0) = DBGrid1.Text

DBGrid1.Col = 1

sOutput(1) = DBGrid1.Text

DBGrid1.Col = 2

sOutput(2) = DBGrid1.Text





'نوع الخط الذي سوف يطبع

PrintFont 'Arial', 16, True, True, False



'العنوان

PrintText 0, 0, 'Print - ' & Me.Caption

PrintFont 'Arial', 12, True, True, False

PrintText 0, 0.5, 'Date: ' & Date$

PrintFont 'Arial', 12, True, False, True



'عليك أن تضيف مثل السطور التالية حسب عدد الأعمدة


PrintText 0, 1, sOutput(0)

PrintText 1, 1, sOutput(1)

PrintText 2, 1, sOutput(2)



PrintFont 'Arial', 12, False, False, False



For nLoopCtr = 1 To
mnCurrentRow - 1

DBGrid1.Row = nLoopCtr



'عليك أن تضيف مثل السطور التالية حسب عدد الأعمدة لديك


DBGrid1.Col = 0

sOutput(0) = DBGrid1.Text

DBGrid1.Col = 1

sOutput(1) = DBGrid1.Text

DBGrid1.Col = 2

sOutput(2) = DBGrid1.Text





'عليك أن تضيف مثل السطور التالية حسب عدد الأعمدة لديك


PrintText 0, 1 + (nLoopCtr * 0.25), sOutput(0)

PrintText 1, 1 + (nLoopCtr * 0.25), sOutput(1)

PrintText 2, 1 + (nLoopCtr * 0.25), sOutput(2)

Next nLoopCtr



Printer.EndDoc

Printer.ScaleMode = nScaleMode

End Sub


وفي زر الطباعة ضع الكود التالي:





Call ResultsPrint


بهذا نكون قد أنهينا عملية الطباعة . إنها أفضل من التقرير لقواعد البيانات
الكبيرة.







بنهاية هذا الدرس نكون قد أنهينا دروس التعامل مع قواعد البيانات. آمل أن أكون قد
حققت الفائدة لكل مستخدم.



والله ولي التوفيق
الرجوع الى أعلى الصفحة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى