การอ่าน access มาพิมพ์
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/asp/aspprtd.htm | http://www.thaiabc.com/asp/aspprtd.htm
ปรับปรุง : 2548-02-08 ()
[ การอ่าน access มาพิมพ์ ]

  1. ข้อควรทราบ
  2. อ่านข้อมูลจากแฟ้มของ Ms Access 97 มาพิมพ์ (อ่าน std9701.mdb จาก table ชื่อ student)
  3. พิมพ์ข้อมูลในตารางให้เป็นระเบียน และเลือกข้อมูลได้ (เลือกเฉพาะที่คะแนน มากกว่า 60)
  4. คำนวณ Max, Min, Avg แล้วพิมพ์
  5. แบบฝึกหัด

ตัวอย่างชุดนี้เรียนรู้มาจาก http://aspbuilder.webhostme.com/mysearch/search.asp
จึงขอขอบคุณ aspbuilder.webhostme.com มา ณ ที่นี้ ที่เขียนเรื่องดี ๆ ให้คนไทยได้ศึกษากัน

ข้อควรทราบ
  1. ตัวอย่างนี้เป็น ทำหน้าที่อ่านข้อมูลจาก แฟ้ม MDB มาพิมพ์เท่านั้น เป็นการเสริมความสามารถของ ASP ให้ทำงานกับ แฟ้มข้อมูลบน Windows ได้ หากท่านต้องการศึกษาเรื่องนี้ จะต้องไปศึกษาเรื่อง Microsoft Access เพิ่มเติม ไม่ต้องศึกษามาก แค่สร้าง Table และ ใส่ข้อมูลได้ ก็นำมาใช้กับ ASP ได้แล้ว
  2. แฟ้มที่ต้องใช้สำหรับตัวอย่างนี้ มี 2 แฟ้มคือ โปรแกรม ASP และ แฟ้มข้อมูลชื่อ std9701.mdb ซึ่งเป็นแฟ้มข้อมูล ที่ถูกสร้างมาจาก Microsoft Access 97 ถ้าท่านยังไม่มีก็ต้องหา Microsoft Office 97 มาลง ซึ่ง Microsoft Access 97 จะเป็นหนึ่งในโปรแกรมชุดนั้น จากตัวอย่างนี้ แฟ้มทั้งหมดผมเก็บไว้ที่ root ไม่ได้สร้างห้องแยกแต่ประการใด แต่ถ้าจะไปสร้างห้องให้เป็นระเบียบ ก็ไม่มีปัญหาครับ แต่ต้องกำหนดให้ตรงกันเท่านั้น
  3. แฟ้ม std9701.mdb ที่ผมสร้างขึ้นเป็นตัวอย่าง มี 1 table คือ student และใน table มี 3 เขตข้อมูลคือ idstd, name และ score ผมใส่ตัวอย่างข้อมูลไป 12 ระเบียน เป็นชื่อคนที่ผมรู้จัก และเห็นหน้าทุกวัน ยกเว้นคนสุดท้าย
  4. ตัวอย่างนี้จะแสดงวิธีการเขียน ASP หลาย ๆ แบบ แต่ตัวข้อมูลผมจะใช้เพียงแฟ้มเดียว แสดงการอ่านข้อมูลธรรมดา การพิมพ์ข้อมูลในตาราง html และการคำนวณหา ค่าสูงสุด(maximum-max), ค่าต่ำสุด(mininum-min), ค่าเฉลี่ย(average-avg)
  5. ใจเย็น ๆ ไม่มีอะไร ยากเกินใจจะไขว่คว้า ผมเองก็ไม่ได้เป็นมาจากท้องพ่อ ท้องแม่ นี่ก็อาศัยตัวอย่างของ aspbuilder.webhostme.com มาเขียนในบทนี้ เขาเองก็เขียนดีครับ แต่ผมอยากเขียนในแบบของผม เพื่อเป็นการฝึกฝนตัวเองไปด้วยในตัว วิธีเขียนไม่ยาก ผมเริ่มต้นด้วยการ อ่านข้อมูลมาพิมพ์ให้เป็นก่อน จะได้อุ่นใจ บทต่อ ๆ ไป จะเป็นการ เพิ่ม ลบ และแก้ไขข้อมูล
  6. Download แฟ้ม std9701.mdb ที่นี่

อ่านข้อมูลจากแฟ้มของ Ms Access 97 มาพิมพ์
ตัวอย่างชุดนี้ไม่มีอะไรมาก เพียงแสดงให้เห็นการเรียกข้อมูลจากแฟ้ม MDB มาแสดงเท่านั้น
แต่เมื่อท่านดูเข้าใจแล้ว ก็ลองนำไปเปลี่ยนโครงสร้างแฟ้มดูสิครับ
ข้อมูลในแฟ้มนี้มี 12 ระเบียน โปรแกรมจะอ่านข้อมูลมาแสดงทั้งหมด ท่านสามารถ Download แฟ้ม std9701.mdb ที่นี่
ตัวอย่างคำสั่ง ตัวอย่างผลลัพธ์
<%
   thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(mBaseDir & "/std9701.mdb")
   Set rec = Server.CreateObject("ADODB.Recordset")
   sql = "select * from student"
   rec.Open sql, thaialldbaccess97
%>
<html><head><title>print all data</title></head>
<body bgcolor="#ffffff">
<%
   rec.MoveFirst
   do while Not rec.eof
      response.write( rec("idstd") &"-"& rec("name") &"-"& rec("score") &"<br>" )
      rec.MoveNext
   loop
%>
</body></html>
4200001-บุรินทร์ รุจจนพันธุ์-65
4200002-ทรรศนีย์ ไชยชนะ-94
4200003-วิเชพ ใจบุญ-78
...
4200012-ต๊อง ศิษย์ฉ่อย-53
Click ทดสอบโปรแกรม | ดูเฉพาะ Source code เท่านั้น
พิมพ์ข้อมูลในตารางให้เป็นระเบียน และเลือกข้อมูลได้
แสดงการเขียน ASP ร่วมกับการเขียน ตาราง และทำการเลือกข้อมูล ซึ่งสังเกตุได้จากส่วนของ SQL
SQL ย่อมาจาก Structure Query Language ซึ่ง SQL ยังมีความสามารถทั้งเพิ่มลบ และแก้ไขได้ ใช้ได้ดีมาก
ข้อมูลที่เตรียมไว้มี 12 ระเบียน แต่เมื่อแสดงผลจะเหลือ 9 เพราะคนที่ได้คะแนนมากกว่า 60 มีเพียง 9 คน
ท่านสามารถ Download แฟ้ม std9701.mdb ที่นี่
ตัวอย่างคำสั่ง ตัวอย่างผลลัพธ์
<%
   thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(mBaseDir & "/std9701.mdb")
   Set rec = Server.CreateObject("ADODB.Recordset")
   sql = "select * from student where score > 60"
   rec.Open sql, thaialldbaccess97
%>
<html><head><title>choose data</title></head>
<body bgcolor="#ffffff">
<%
   i = 1
   rec.MoveFirst
   response.write( "<table widht=100% border=1>" )
   do while Not rec.eof
      response.write( "<tr>" )
      response.write("<td bgcolor=#ffffff>" & i & "</td>" )
      response.write("<td bgcolor=#ffffdd>" & rec("idstd") & "</td>" )
      response.write("<td bgcolor=#ffffdd>" & rec("name") & "</td>" )
      response.write("<td bgcolor=#ffddff>" & rec("score") & "</td>" )
      response.write( "</tr>" )
      rec.MoveNext
      i = i + 1
   loop
   response.write( "</table>" )
%>
</body></html>
ตัวอย่างเป็นตาราง ดูเป็นระเบียน
พร้อมมีเลขลำดับของระเบียนให้ด้วย
Click ที่นี่ดูผลลัพธ์
Click ทดสอบโปรแกรม | ดูเฉพาะ Source code เท่านั้น
คำนวณ Max, Min, Avg แล้วพิมพ์
แสดงการนำ Score มาคำนวณ และแสดงตัวอย่างการใช้ IF เพื่อตัดสินใจ
ท่านสามารถ Download แฟ้ม std9701.mdb ที่นี่
ตัวอย่างคำสั่ง ตัวอย่างผลลัพธ์
<%
   thaialldbaccess97="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(mBaseDir & "/std9701.mdb")
   Set rec = Server.CreateObject("ADODB.Recordset")
   sql = "select * from student where score > 60" 
   rec.Open sql, thaialldbaccess97
%>
<html><head><title>choose data</title></head>
<body bgcolor="#ffffff">
<%
   max=0
   min=999
   tot=0
   i = 1
   rec.MoveFirst
   response.write( "<table widht=100% border=1>" )
   do while Not rec.eof
      response.write( "<tr>" )
      response.write("<td bgcolor=#ffffff>" & i & "</td>" )
      response.write("<td bgcolor=#ffffdd>" & rec("idstd") & "</td>" )
      response.write("<td bgcolor=#ffffdd>" & rec("name") & "</td>" )
      response.write("<td bgcolor=#ffddff>" & rec("score") & "</td>" )
      response.write( "</tr>" )
      tot = tot + rec("score")
      if max < rec("score") then max = rec("score")
      if min > rec("score") then 
         min = rec("score")
      end if
      rec.MoveNext
      i = i + 1
   loop
   response.write( "</table>" )
   response.write( "Max =" & max & "<br>")
   response.write( "Min =" & min & "<br>")
   response.write( "Avg =" & tot/(i-1))
%>
</body></html>
ตัวอย่างเป็นตาราง ดูเป็นระเบียน
พร้อมมีเลขลำดับของระเบียนให้ด้วย
และแสดงการหาค่า max min และ avg
Click ที่นี่ดูผลลัพธ์
Click ทดสอบโปรแกรม | ดูเฉพาะ Source code เท่านั้น
แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ทำแบบที่ผมทำในเว็บ หรือในเครื่องของท่าน
  2. แก้ไขข้อมูล สั่งพิมพ์ แล้วดูว่าผลการแก้ไข ถูกต้องกับที่ประมวลผลหรือไม่
  3. ให้แก้ไขโครงสร้างแฟ้ม สั่งพิมพ์ แล้ว ดูว่าตรงกันกับที่ต้องการหรือไม่
  4. ให้แก้ไขตัวอย่างสุดท้าย แล้วคิดวิธีการคำนวณ และสร้างเงื่อนไขขึ้นเอง

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223