出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[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 |