ค้นหาแบบวันที่ ใช้ในบทเรียนการค้นหาครับ โดย Keyword เป็นวันที่โดยชื่อ CarlenderD
ง่าย ๆ เลยนะ คุณก็ตัดวัน, เดือน, ปี แล้วก็นำมาต่อกันสิครับ โดยมีการกำหนดเงื่อนไขเล็ก ๆ น้อย ๆ หากคุณต้องการวันเดือนปีในรูปแบบ 01/02/2005 อย่างเช่น
หากค่าของ CalenderD = 11/30/2005 ก็ใช้คำสั่ง split หรือไม่ก็ substring ก็ได้แล้วแต่ความถนัดของคุณ
แต่แนะนำให้ใช้ split ดีกว่านะ จะได้ง่ายกว่า
tmpdate = split(CalenderD,"/") 'ไม่รู้ว่าผมจำรูปแบบการให้ค่าพารามิเตอร์หรืออากิวเมนต์ของฟังก์ชันก์นี้ถูกหรือเปล่า...ไม่ค่อยแน่ใจอ่ะ มันจะได้ tmpdate(0) = 11, tmpdate(1) = 30, tmpdate(2) = 2005
keyword = tmpdate(1) &"/" & tmpdate(0) &"/"& tmpdate(2) + 543 'เห็นไหมละแค่ง่ายนี้เอง
หวังว่าคงทำได้นะครับ
Date :
6 ก.ค. 2548 08:26:49
By :
นายกระจอก
เป็นงงครับช่วยด้วยนะครับ Code ที่ใช้เป็นดังนี้ครับ
<%
keyword=Request.Form("keyword")
if keyword="" then
keyword=Request.QueryString("keyword")
end if
%>
<form name="form1" method="post" action="Deleteorder1.asp">
<font size="2">การป้อนข้อมูล<font color="#FF0000"><strong> เดือน/วันที่/2005</strong></font>
<input name="keyword" type="text" id="keyword" value="<%=keyword%>">
<input type="submit" name="Submit3" value="ค้นหา">
<input type="reset" name="Submit22" value="Reset">
</font>
</form>
<font size="2">
<%
if keyword="" then
Response.write("<br>กรุณากรอก Keyword เพื่อค้นหาจากวันที่<hr>")
else
pageLen = 50 'กำหนดจำนวนแต่ละหน้าที่ต้องการแสดงกี่ Reccord
pageNo = request.QueryString("pageNo")
if pageNo="" then pageNo = 1
Set Conn=Server.Createobject("ADODB.Connection")
Conn.Provider="Microsoft.jet.OLEDB.4.0"
Conn.Open server.MapPath("Main_database.mdb")
'หรือจะใช้เป็น Conn.Open "product","",""
sql ="Select * From AWH where CarlenderD like '%"&keyword&"%'order by Work_Group_Code ASC"
Set RS =Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn,1,3
Nrecord=RS.recordcount
Rs.pageSize = pageLen
totalPage = Rs.PageCount
If Rs.EOF Then
%>
ไม่มีข้อมูลในตาราง !
<%Else%>
*********
เพิ่มเติมตรงใหนครับ...ช่วยด้วยครับแล้วจะไม่ลืมพระคุณเลย
Date :
6 ก.ค. 2548 13:02:04
By :
ขาประจำต้องเข้าทุกวัน
อันนี้ต้องดูที่ฐานข้อมูลหน่อยอ่ะ ฟิลด์ CalenderD ของคุณน่ะมีชนิดเป็นอะไร
Date/time หรือเปล่า หรือว่าเป็น Text ถ้าเป็น Date/time แล้วอยู่ในรูปแบบใด อย่างเช่น
Short Date, Long Date แนะนำให้ใช้ Short Date (วัน/เดือน/ปี : 30/11/2548)
อันนี้ใช้ wild card เป็น like รู้สึกว่าจะไม่ถูกต้องนะครับ
sql ="Select * From AWH where CarlenderD like '%"&keyword&"%'order by Work_Group_Code ASC"
น่าจะเป็นแบบนี้
sql ="Select * From AWH where CarlenderD ='%"&keyword&"%'order by Work_Group_Code ASC"
ส่วนค่าของ keycode ก็บังคับให้ผู้ใช้กรอกเป็น วัน/เดือน/ปี โดยใช้ความสามารถของ javascript หรือ vbscript ก็ได้แล้วแต่ความถนัด สามารถค้นคว้าเพิ่มเติมได้ที่ www.siamdev.com
Date :
6 ก.ค. 2548 15:56:00
By :
นายกระจอก
Load balance : Server 02