<%
Rem รับค่าจาก form และ set ค่าเริ่มต้น
csql=request.form("csql")
gDirect=request.form("Direct")
gPage=request.form("PageNo")
gPageSize=request.form("PageSize")
gty="name"
gid="ok"
gcm="ok"
gtr="ok"
ggn="ok"
gsp="ok"
gsn="ok"
gau="ok"
gfm="ok"
gsfm="ok"
Rem ถ้าเป็นการเรียกมาครั้งแรกจะไม่มีค่า csql ก็ให้ข้ามไปที่ส่วนของ form เลย
if csql<>"" then
Rem รับค่าจาก from ว่าต้องการให้แสดงข้อมูลอะไรบ้าง
gid=request.form("gwid")
gcm=request.form("gcom")
gtr=request.form("gtrad")
ggn=request.form("ggen")
gsp=request.form("gspec")
gau=request.form("gauth")
gsn=request.form("gsyn")
gfm=request.form("gfam")
gsfm=request.form("gsubfam")
gty=request.form("gtype")
Rem ตั้งเวลาให้ติดต่อได้ไม่เกิน 10 นาที
Session.timeout = 10
Rem เริ่มส่วนการติดต่อกับฐานข้อมูลโดยไม่ใช้ DSN
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= "&server.mappath("timberDB.mdb")
sql="Select * from [timberTB]"
Rem ตรวจสอบการค้นว่าต้องการค้นจาก column ใดแล้วกำหนดหัวข้อให้ตรง
if gty="name" then
sql = sql & " Where name like '%" & csql & "%'"
ghead="ชื่อ (name) ที่มีคำว่า"
elseif gty="gen" then
sql = sql & " Where gen like '%" & csql & "%'"
ghead="ชื่อสกุล (genus) ที่มีคำว่า"
else
sql = sql & " Where spec like '%" & csql & "%'"
ghead="ชื่อชนิด (species) ที่มีคำว่า"
end if
Rem สร้าง Recordset แบบ Static เพื่อให้สามารถนับจะนำได้
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 1, 3
' Set RS=Conn.Execute(SQL)
Rem หากเกิดข้อผิดพลาดขึ้นก็เลยตามเลย
On Error Resume Next
Rem นับจำนวนรายการที่สร้างขึ้นมาตามเงื่อนไข
TotalRows=RS.RecordCount
RS.PageSize = gPageSize
PageSize=RS.PageSize
TotalPages=RS.PageCount
Rem กำหนดหน้าที่จะแสดง จากค่า gDirect ที่ส่งมา
Select Case gDirect
Case "หน้าแรก"
PageNo=1
Case "หน้าที่ผ่านมา"
If gPage=1 then
PageNo=1
Else
PageNo=gPage-1
End If
Case "หน้าถัดไป"
If Cint(gPage) >=TotalPages then
PageNo=TotalPages
Else
PageNo=gPage+1
End If
Case "หน้าสุดท้าย"
PageNo=TotalPages
Case "ไปยังหน้า"
If Cint(gPage)>=Totalpages then
PageNo=Totalpages
Elseif Cint(gPage)<= 1 then
PageNo=1
Else
PageNo=gPage
End If
Case ""
PageNo=1
End Select
%>
ผลการค้นหา <%=ghead & " " & csql %>
<%if ToTalRows=0 then%>
ไม่มีรายการตามเงื่อนไข
<%Else%>
พบ <%=TotalRows%> รายการตามเงื่อนไขหน้าที่ <%=PageNo%>/<%=TotalPages%>
<%End if%>
<%
Rem วนลูปแสดงไปเรื่อยๆ จนกว่าจะหมดรายการ
RS.Absolutepage=pageno
RowCount = 1%>
|