作業表削除

作業表の削除です。

del.asp


作業表変更のchange.aspとほぼ同じです。
削除を押したときの飛び先と、タイトル、ボタンの文句が違うだけです。

削除ボタンを押した際の飛び先がこちら

del2.asp


<% @LANGUAGE="VBScript" %>
<%
if Session ("id") = "" then
Response.Redirect "error.asp?err=session"
end if
 
'------------------★データファイル★------------------
data_file = Server.MapPath("data.dat")
'------------------★てんぽファイル★------------------
temp_file = Server.MapPath("temp.dat")
 
data_id = Request.Form("change")
'------------------★選択してない場合エラー★------------------
if data_id = "" then
Response.Redirect "error.asp?err=no_select"
end if
 
'------------------★一度てんぽに書く★------------------
Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject")
Set ObjTS = ObjFSO.OpenTextFile(data_file,1,False) '★データ読み取り
Set ObjTemp = ObjFSO.OpenTextFile(temp_file,2,False) '★てんぽ書き込み
 
Do Until ObjTS.AtEndofStream
 
 data_arr = ObjTS.ReadLine
 data = Split(data_arr,Chr(9))
 if data(0) <> data_id then -----A
  ObjTemp.WriteLine data_arr
 end if
Loop
ObjTS.Close
ObjTemp.Close
Set ObjTS = Nothing
Set ObjTemp = Nothing
 
'------------------★それを戻す★------------------
Set ObjFL = ObjFSO.GetFile(temp_file)
If ObjFL.size <> 0 Then
 Set ObjTemp = ObjFSO.OpenTextFile(temp_file,1,False) '★てんぽ読み取り
 moto_data = ObjTemp.ReadAll
 ObjTemp.Close
 flag = "full"
end if
 
Set ObjTS = ObjFSO.OpenTextFile(data_file,2,False) '★データ書き込み
if flag = "full" then
 ObjTS.Write moto_data
end if
ObjTS.Close
 
Set ObjFL = Nothing
Set ObjTS = Nothing
Set ObjTemp = Nothing
Set ObjFSO = Nothing
 
 
%>
<html>
<head>
<title>作業管理システム</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<style type="text/css">
<!--
.mozi { font-size: 12px}
-->
</style>
</head>

 
<body bgcolor="#ffffff" text="#000000">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> <br>
<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td bgcolor="#0000CC">
 
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center"><font color="#FFFFFF"><b>作業表削除</b></font></div>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="mozi">
<div align="center">
<p> </p>
<p><br>
削除しました。<br>
 </p>
<p> </p>
</div>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" height="10" class="mozi">
<div align="right"><a href="menu.asp">メニュー</a></div>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" height="10" class="mozi">
<div align="right"><a href="logout.asp">ログアウト</a></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</td>
</tr>
</table>
</body>
</html>

 

今回もポイントはファイルに書く部分。
一度テンポラリファイルに書き込んでから、データファイルに戻しています。
テンポラリに書き込む際に、前のページ(del.asp)で選択された作業表IDを(削除する作業表IDを)チェックして、作業表IDが同じでないときだけ(削除対象の作業表じゃないとき)テンポラリファイルに書き込んでいます。-----A の部分

テンポラリに書き込んだら、それを戻して、「削除しました」ページを表示します。