إنشاء جدول HTML وملىء بياناته من قاعدة بيانات بأستخدام DAO

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

إنشاء جدول HTML وملىء بياناته من قاعدة بيانات بأستخدام DAO

مُساهمة من طرف end.sub في الأربعاء سبتمبر 25, 2013 9:53 am

بسم الله الرحمن الرحيم

سنتعلم اليوم كيفية إنشاء جدول HTML يستسقى محتوياته من قاعدة بيانات أكسس و ذلك باستخدام المكتبة DAO لذلك فى البداية سنقوم بإدراج المكتبة للمشروع اولا ...الفكرة تتلخص فى فتح ملف HTML و كتابة رأس HTML. ...ثم نقوم بتحديد السجلات باستخدام حلقة تكرار لبناء رؤوس الأعمدة للجدول....


ثم نقوم بعمل حلقة تكرارية أخرى للحصول على قيم جدول قاعدة البيانات و ادراجها فى جدول HTML....ثم بعد ذلك الانتهاء من كتابة أكواد HTML لإغلاق الجدول والوثيقة.


نتبع التعليمات البرمجية على النحو التالى :

_ نقوم بالاعلان عن المتغيرات الازمة على النحو التالى :

الرمز:
Dim fnum As Integer
Dim db As Database
Dim rs As Recordset
Dim num_fields As Integer
Dim i As Integer
Dim num_processed As Integer

    On Error GoTo MiscError
_ نقوم بفتح ملف HTML وكتابة معلومات رأس الملف على النحو التالى :

الرمز:
 fnum = FreeFile
    Open txtHTMLFile.Text For Output As fnum

    Print #fnum, "<HTML>"
    Print #fnum, "<HEAD>"
    Print #fnum, "<TITLE>This is the title</TITLE>"
    Print #fnum, "</HEAD>"

    Print #fnum, ""
    Print #fnum, "<BODY TEXT=#000000 BGCOLOR=#CCCCCC>"
    Print #fnum, "<H1>Book Data</H1>"
_ نقوم بإنشاء جدول فى وثيقة HMTL على النحو التالى :
الرمز:
 Print #fnum, "<TABLE WIDTH=100% CELLPADDING=2 " & _
        "CELLSPACING=2 BGCOLOR=#00C0FF BORDER=1>"
_ نقوم بفتح قاعدة بيانات أكسس على النحو التالى :

الرمز:
Set db = OpenDatabase(txtDatabase.Text)
حيث أن txtDatabase.Text هى مربع النص الذى سيتم كتابة اسم ومسار قاعدة البيانات فيه

_ نقوم بفتح جدول قاعدة البيانات الذى سيتم استخدام بياناته فى جدول HTML على النحو التالى :

الرمز:
Set rs = db.OpenRecordset( _
        "SELECT * FROM Books ORDER BY Title")
_نقوم باستخدام أسماء الحقول كرؤوس لاعمدة جدول HTML على النحو التالى :

الرمز:
Print #fnum, "    <TR>"    ' Start a row.
    num_fields = rs.Fields.Count
    For i = 0 To num_fields - 1
        Print #fnum, "        <TH>";
        Print #fnum, rs.Fields(i).Name;
        Print #fnum, "</TH>"
    Next i
    Print #fnum, "    </TR>"
_نقوم بعمل حلقة تكرارية للحصول على قيم جدول قاعدة البيانات و ادراجها فى جدول HTML على النحو التالى :

الرمز:
 Do While Not rs.EOF
        num_processed = num_processed + 1
        ' Start a new row for this record.
        Print #fnum, "    <TR>";

        For i = 0 To num_fields - 1
            Print #fnum, "        <TD>";
            Print #fnum, rs.Fields(i).Value;
            Print #fnum, "</TD>"
        Next i
        Print #fnum, "</TR>";

        rs.MoveNext
    Loop
_ الانتهاء من كتابة ملف HTML على النحو التالى :

الرمز:
  Print #fnum, "</TABLE>"
    Print #fnum, "<P>"
    Print #fnum, "<H3>" & _
        Format$(num_processed) & _
        " records displayed.</H3>"
    Print #fnum, "<HR COLOR=C000C0>"
    Print #fnum, "Thanks to <A " & _
        "HREF=http://egy-tech.forumegypt.net>VB Helper</A>."

    Print #fnum, "</BODY>"
    Print #fnum, "</HTML>"
_ اغلاق كائنات الاتصال على النحو التالى :

الرمز:
 rs.Close
    db.Close
    Close fnum
    MsgBox "Processed " & _
        Format$(num_processed) & " records."
و الشفرة الكاملة على النحو التالى :

الرمز:
Private Sub Command1_Click()
Dim fnum As Integer
Dim db As Database
Dim rs As Recordset
Dim num_fields As Integer
Dim i As Integer
Dim num_processed As Integer

    On Error GoTo MiscError

    ' Open the output file.
    fnum = FreeFile
    Open txtHTMLFile.Text For Output As fnum

    ' Write the HTML header information.
    Print #fnum, "<HTML>"
    Print #fnum, "<HEAD>"
    Print #fnum, "<TITLE>This is the title</TITLE>"
    Print #fnum, "</HEAD>"

    Print #fnum, ""
    Print #fnum, "<BODY TEXT=#000000 BGCOLOR=#CCCCCC>"
    Print #fnum, "<H1>Book Data</H1>"

    ' Start the HTML table.
    Print #fnum, "<TABLE WIDTH=100% CELLPADDING=2 " & _
        "CELLSPACING=2 BGCOLOR=#00C0FF BORDER=1>"

    ' Open the database.
    Set db = OpenDatabase(txtDatabase.Text)

    ' Open the recordset.
    Set rs = db.OpenRecordset( _
        "SELECT * FROM Books ORDER BY Title")

    ' Use the field names as table column headers.
    Print #fnum, "    <TR>"    ' Start a row.
    num_fields = rs.Fields.Count
    For i = 0 To num_fields - 1
        Print #fnum, "        <TH>";
        Print #fnum, rs.Fields(i).Name;
        Print #fnum, "</TH>"
    Next i
    Print #fnum, "    </TR>"

    ' Process the records.
    Do While Not rs.EOF
        num_processed = num_processed + 1
        ' Start a new row for this record.
        Print #fnum, "    <TR>";

        For i = 0 To num_fields - 1
            Print #fnum, "        <TD>";
            Print #fnum, rs.Fields(i).Value;
            Print #fnum, "</TD>"
        Next i
        Print #fnum, "</TR>";

        rs.MoveNext
    Loop

    ' Finish the table.
    Print #fnum, "</TABLE>"
    Print #fnum, "<P>"
    Print #fnum, "<H3>" & _
        Format$(num_processed) & _
        " records displayed.</H3>"
    Print #fnum, "<HR COLOR=C000C0>"
    Print #fnum, "Thanks to <A " & _
        "HREF=http://www.vb-helper.com>VB Helper</A>."

    Print #fnum, "</BODY>"
    Print #fnum, "</HTML>"

    ' Close the file and database.
    rs.Close
    db.Close
    Close fnum
    MsgBox "Processed " & _
        Format$(num_processed) & " records."

    Exit Sub

MiscError:
    MsgBox "Error " & Err.Number & _
        vbCrLf & Err.Description
End Sub


end.sub
.....
.....

تاريخ التسجيل : 15/08/2013
المساهمات : 70
النقاط : 131
التقيم : 9
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: إنشاء جدول HTML وملىء بياناته من قاعدة بيانات بأستخدام DAO

مُساهمة من طرف NEXT في السبت سبتمبر 28, 2013 3:08 pm

شكرا على مجهودك اخى الكريم

NEXT
الادارة
الادارة

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 378
التقيم : 10
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


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