HOME > ASP > ASP Forum > ต้องการผู้รู้เข้ามาตอบด่วนครับ code ไม่มี Error Type: แต่มันขึ้น fild ซำๆกัน ช่วยแก้ไขให้หน่อยครับ table คือ Employee table field name datatype
ต้องการผู้รู้เข้ามาตอบด่วนครับ code ไม่มี Error Type: แต่มันขึ้น fild ซำๆกัน ช่วยแก้ไขให้หน่อยครับ table คือ Employee table field name datatype
<%
Criteria = " WHERE [LIKE] <> '0' "
if Request("Submit") = "Search" then
if request.form("[LIKE]") <> "" then
Criteria = Criteria & " AND [LIKE] = '" & request.form("[LIKE]") & "'"
end if
if request.form("date") <> "" then
Criteria = Criteria & " AND date = '" & request.form("date") & "'"
end if
if request.form("id_customer") <> "" then
Criteria = Criteria & " AND id_customer = " & request.form("id_customer")
end if
end if
'worklike = request.Form("[LIKE]")
%>
<HTML>
<HEAD>
<TITLE> Database Management System</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=windows-874">
</HEAD>
<BODY>
<form name="send" action="select.asp" method="post" >
<table width="52%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center">ค้นหา </div></td>
</tr>
<tr>
<td width="34%"><span lang="th">ความถนัด</span>:</td>
<td width="66%"><label>
<input name="[LIKE]" type="text" id="[LIKE]">
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="Submit" value="Search">
<input type="submit" name="Submit2" value="Reset">
</label></td>
</tr>
</table>
</form>
<BR></TD>
<br>
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("test_project_update.mdb")
Sql="Select EMPLOYEE.E_MAIL,EMPLOYEE.TEL,extra.* from extra,EMPLOYEE " & Criteria
'WHERE EMPLOYEE.EMP_ID = extra.EMP_ID
'Sql="Select * from extra where [like] like '%" & worklike & "%'"
Set RS =Server.CreateObject("ADODB.Recordset")
RS.open Sql,Conn,1,3
if RS.recordcount <> 0 then
RS.MoveFirst
end if
%>
<TABLE border="1">
<TR>
<TD> <span lang="th">รหัสความถนัด</span> </TD>
<TD> <span lang="th">รหัสพนักงาน</span> </TD>
<TD> <span lang="th">ชื่อ</span> </TD>
<TD> <span lang="th">นามสกุล</span> </TD>
<TD> <span lang="th">ความถนัด</span> </TD>
<TD> <span lang="th">อีเมล์</span> </TD>
<TD> <span lang="th">โทรศัพท์</span> </TD>
</TR>
<%
if RS.recordcount <> 0 then
Do While Not RS.EOF
%>
<TR>
<TD><%= RS("ID_extra")%></TD>
<TD><%= RS("EMP_ID")%></TD>
<TD><%= RS("NAME_THAI")%></TD>
<TD><%= RS("SURENAME_THAI")%></TD>
<TD><%= RS("LIKE")%></TD>
<TD><%= RS("E_MAIL")%></TD>
<TD><%= RS("TEL")%></TD>
</TR>
<%
RS.MoveNext
Loop
end if
%>
</TABLE>
<html>
<body>
</body>
</html>
field name datatype
1. EMP_ID Number
2. TITLE_NAME Text
3. NAME_THAI Text
4. SURENAME_THAI Text
5. POST_ID Text
6. ORG_ID Text
7. E_MAIL Text
8. TEL Number
---------------------------------------------------------------
extra table
field name datatype
1. ID_extra AutoNumber
2. EMP_ID Number
3. NAME_THAI Text
4. SURENAME_THAI Text
5. LIKE Text
----------------------------------------------------------------------
Tag : - - - -
Date :
22 ธ.ค. 2550 21:56:58
By :
beginner
View :
1487
Reply :
5
No. 1
Guest
If RS.recordcount <> 0 then
RS.MoveFirst
end if
ตรงนี้ไม่จำเป็นต้องเขียนซะขนาดนั้น
if RS.recordcount <> 0 then
Do While Not RS.EOF
ตรงนี้ก็ซ้ำซ้อน เอาเป็นว่าเอา IF ... then ออกทั้งคู่เลยครับ
แค่เงือนไขใน Do...Loop ก็เอาอยู่แล้วล่ะ เพราะเงือนไขคือ ถ้ายังไม่ถึงจุด EOF ก็ให้ทำต่อไป
ถ้า Recordcount มันเท่ากับ 0 นั่นก็หมายความว่า มัน EOF ไปแล้วล่ะ ดังนั้น If....then ทั้งสองจุดจึงไม่จำเป็น
movefirst ไม่ต้องมีก็ได้ เพราะถ้ามันไม่ EOF มันก็จะ Default ไปที่ First โดยอัตโนมัติอยู่แล้วครับ