出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

こんな表示って可能なのでしょうか?& どうすれば?   あきさん [2003/07/03 22:25:05] [3464]
  Re:こんな表示って可能なのでしょうか?& どうすれば?   RiUさん [2003/07/04 9:21:58] [3465]
  Re:こんな表示って可能なのでしょうか?& どうすれば?   nowheremanさん [2003/07/04 9:25:23] [3466]
    Re:こんな表示って可能なのでしょうか?& どうすれば?   nowheremanさん [2003/07/04 9:29:31] [3467]
    Re:こんな表示って可能なのでしょうか?& どうすれば?   あきさん [2003/07/04 23:47:55] [3472]
      Re:こんな表示って可能なのでしょうか?& どうすれば?   RiUさん [2003/07/07 10:32:15] [3476]
        Re:こんな表示って可能なのでしょうか?& どうすれば?   あきさん [2003/07/07 22:11:50] [3483]

[3464] こんな表示って可能なのでしょうか?& どうすれば?
投稿者:あきさん 2003/07/03 22:25:05
Asp と Access とで 行き先表みたいなものをトライしています。

そこで、ソースの抜粋が以下内容です。************

<%
End Sub
'=================================================
'----- 全件表示 Top page
'=================================================
Sub DispAll()
StrSQL = "select * from yukisaki where [bumon]='元気' order by id asc"
Set ObjRS = Server.CreateObject("ADODB.Recordset")
ObjRS.Open StrSQL, ObjConn,3,3

if ObjRS.EOF then Exit Sub

Call Update_yukisaki()
%>
<table>
<TR>
<TD>SW</TD>
<TD>名前</TD>
<TD>状態</TD>
<TD>行き先・コメント</TD>
</TR>
<%
Dim cnt
cnt = 0
Do Until ObjRS.EOF

id = ObjRS("id")
namae = ObjRS("namae")
status = ObjRS("status")
comment = ObjRS("comment")
%>

<tr>
 <form method="POST" action="test.asp">
 <td>
  <input type="hidden" name="act" value="edi">
  <input type="hidden" name="id" value="<% =id %>">
  <input type="submit" value="編集" ></td>
 <td><% = namae %></td>
 <td><% = status %></td>
 <td><% = comment %></td>
</tr>
</form>
</tr>
<%
ObjRS.MoveNext
cnt = cnt + 1
Loop
%>
</table>

<%
ObjRS.Close
Set ObjRS = Nothing
%>

<%
End Sub
'=================================================
'----- DB接続
'=================================================
Sub ConnDB()
Set ObjConn = Server.CreateObject("ADODB.Connection")
ObjConn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _
Server.Mappath("test.mdb")

End Sub
'=================================================
'----- DB更新
'=================================================
Sub Update_yukisaki()


if kbn = "edi" then

StrSQL = "update yukisaki set "
StrSQL = StrSQL & " [namae] = '" & namae & "',"
StrSQL = StrSQL & " [status] = '" & status & "',"
StrSQL = StrSQL & " [comment] = '" & comment & "'"
StrSQL = StrSQL & " where id = " & id
ObjConn.Execute(StrSQL)
end if

End Sub
'=================================================
'----- DB閉じる
'=================================================
Sub CloseDB()
ObjConn.Close
Set ObjConn = Nothing
End Sub
%>
**************
こんな感じで行った場合、
人が多くなると、WEB上ではスクロールしないといけないですよね?
(たとえば、1画面10人までしか見えないとするが、登録している人が
20人だとすると、したまでスクロールするしかないですよね?)
ページで区切る方法も考えたのですが、いまいち作業性が悪いかと
思い、どうしたものか悩んでいます。
イメージ的には、
<TR>
<TD>SW</TD>
<TD>名前</TD>
<TD>状態</TD>
<TD>行き先・コメント</TD>
</TR>
の部分を
<TR>
<TD>SW</TD>
<TD>名前</TD>
<TD>状態</TD>
<TD>行き先・コメント</TD>
<TD>SW</TD>
<TD>名前</TD>
<TD>状態</TD>
<TD>行き先・コメント</TD>
</TR>
ってな感じで、それぞれ10人ずつ表示され20人表示されるような形で1画面でみたいのですが・・・
これって可能なのでしょうか?初心者ですみません。。。

また、表の上に”在室”となっている人のみの人数をカウントし、表示させたいのですが・・・それも可能なのでしょうか?
Response.Write ObjRS.RecordCount & "人です"
だと、Accessのtableに登録されている人すべてのカウントになってしまいますよね?

どなたか教えていただけたら幸いです。
よろしくお願いいたします。

[3465] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:RiUさん 2003/07/04 9:21:58
RiUです。
結論から言うといずれも可能です。

IF文で列が1列目か2列目かを判断しm
1列目なら<tr><td></td>
2列目なら<td></td></tr>
をHTMLで吐き出す

カウントも、
在室の場合に変数をカウントアップさせて
その変数をもって response.writeする

[3466] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:nowheremanさん 2003/07/04 9:25:23
まず、
> ってな感じで、それぞれ10人ずつ表示され20人表示されるような形で1画面でみたいのですが・・・
という件ですが、
cnt Mod 2=0 だったら<tr>を記述し、
cnt Mod 2=1 だったら</tr>を記述する方法でできそうです。

次に、
> また、表の上に”在室”となっている人のみの人数をカウントし、表示させたいのですが・・・それも可能なのでしょうか?
ですが、where status='在室'のSQLを実行してカウントを表示すればできると思われます。

色々思うところがありましたが、さしでがましいので、
とりあえずこれぐらいにしておきますw

[3467] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:nowheremanさん 2003/07/04 9:29:31
RiUさんと内容がかぶってしまいましたw
失礼しましたm(_ _)m

[3472] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:あきさん 2003/07/04 23:47:55
早速のご返事<Ruiさん&nowheremanさん >、ありがとうございます。m(__)m

なにぶん、初心者なもので、見よう見真似でトライしているのが
現状です。もう少し、詳しく教えていただけないでしょうか?
あつかましいお願いですが、よろしくお願いいたします。


> まず、
> > ってな感じで、それぞれ10人ずつ表示され20人表示されるような形で1画面でみたいのですが・・・
> という件ですが、
> cnt Mod 2=0 だったら<tr>を記述し、
> cnt Mod 2=1 だったら</tr>を記述する方法でできそうです。
>
> 次に、
> > また、表の上に”在室”となっている人のみの人数をカウントし、表示させたいのですが・・・それも可能なのでしょうか?
> ですが、where status='在室'のSQLを実行してカウントを表示すればできると思われます。
>
> 色々思うところがありましたが、さしでがましいので、
> とりあえずこれぐらいにしておきますw

[3476] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:RiUさん 2003/07/07 10:32:15
RiUです。

#何をどうトライしたのか・・・
#『見様見真似』できるサンプルがあるんじゃないですか?

<%
n=1
i=0
response.write "<table>"
Do while not ObjRS.EOF
if n=1 then
response.write "<tr>"
end if
response.write "<td>〜〜〜</td>"
if n=2 then
response.write "</tr>"
n=1
else
n=n+1
end if
If ObjRS("***")="在室" Then i=i+1
loop
response.write "</table>"
respons.write i &"人です"
%>

[3483] Re:こんな表示って可能なのでしょうか?& どうすれば?
投稿者:あきさん 2003/07/07 22:11:50
あきです。
早速の回答、ありがとうございました。

昼、あれこれトライしてなんとか、
Where="在室"の件に関しては、成功しました。

しかし、表示の際の列を自動で出す方法が
なかなかできませんでした。

> #何をどうトライしたのか・・・
> #『見様見真似』できるサンプルがあるんじゃないですか?
Web上でいろいろ見回ったのですが、
なかなか、行が多いときの自動で列を出力する方法がなかったんですよね。。。

Riuさんに教えていただいたサンプルでトライしてみます。
本当にありがとうございます。m(__)m




TreeBBS For ASP V.0.1.3
Program By YasNet