Classic ASPテストページです。
情報が古いので参考程度に読んだりテストしてみてください。
共有サーバーなので、処理に時間がかかるとタイムアウトやアクセスが集中すると落ちている時がありますがご勘弁を・・・

三流君(TOP) /ASPで遊ぶ /ASP記事一覧を見る

分類: [Form関係] /DB系ADOを使い( [Mdb接続] [CSV接続] [Excel接続]) /[ASPでTextFileを操作] /[VBScript関数ほか]

入力、結果表示を1つのASPファイルにまとめた

test016-1.asp

このメルマガの満足度は?選択後、送信ボタンを押してください。
6.大変満足、知人に教えます
5.満足
4.まぁまぁ
3.どちらとも言えない
2.少し不満
1.不満
0.かなり不満、解除します




Callを使用したサンプル(ソースの紹介)

詳細解説は[http:/asp/backno/asp016.html]を見てください
下記、/cgi-bin/test/test016-1.aspのソース(中身)です

Call を 使った ソースコードを紹介する

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはCall です。 <%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>入力、結果表示を1つのASPファイルにまとめた</title> </head> <body> <h2>入力、結果表示を1つのASPファイルにまとめた</h2> test016-1.asp<br> <hr> <% 'まずは、パラメータ有無の判断を行う If IsEmpty(Request.QueryString("a")) = False Then 'バラメーター有りの時 If Request.QueryString("a") = "99" Then Call test016_SUM() '結果表示の関数を呼ぶ Else Call test016_WRITE() '書き込みの関数を呼ぶ End If Else '↓フォームの入力処理を書く(普通のHTML) %> <FORM ACTION="test016-1.asp" METHOD="GET"> このメルマガの満足度は?選択後、送信ボタンを押してください。<br> <INPUT TYPE="RADIO" NAME="a" VALUE="6">6.大変満足、知人に教えます<br> <INPUT TYPE="RADIO" NAME="a" VALUE="5">5.満足<br> <INPUT TYPE="RADIO" NAME="a" VALUE="4">4.まぁまぁ<br> <INPUT TYPE="RADIO" NAME="a" VALUE="3">3.どちらとも言えない<br> <INPUT TYPE="RADIO" NAME="a" VALUE="2">2.少し不満<br> <INPUT TYPE="RADIO" NAME="a" VALUE="1">1.不満<br> <INPUT TYPE="RADIO" NAME="a" VALUE="0">0.かなり不満、解除します<br> <br> <INPUT TYPE="submit" VALUE="送 信"> <INPUT TYPE="reset" VALUE="入力クリア"> </FORM> <% End If %> <hr> </body> </html> <% 'ここから下にSUB関数をまとめてみました。 Sub test016_WRITE() '入力値を判断して書き込む 'アンケートの結果をまず判断する strMSG = "不正なパラメーターです" 'エラーメッセージを初期値として代入 if Request.QueryString("a") = "6" then strMSG = "大変満足" 'asp013追加 if Request.QueryString("a") = "5" then strMSG = "満足" if Request.QueryString("a") = "4" then strMSG = "まぁまぁ" if Request.QueryString("a") = "3" then strMSG = "どちらとも言えない" if Request.QueryString("a") = "2" then strMSG = "少し不満" if Request.QueryString("a") = "1" then strMSG = "不満" if Request.QueryString("a") = "0" then strMSG = "かなり不満" 'asp013追加 If strMSG = "不正なパラメーターです" Then 'エラーパラメータのままか?チェック Response.Write "データを正しく受け取れませんでした<br>" Else 'FileSystemObjectを生成します。 Set objFS = Server.CreateObject("Scripting.FileSystemObject") 'test016.txt を追加モードで開く Set ts = objFS.OpenTextFile(Server.MapPath("test016.txt"), 8, True) 'ファイルにアンケート結果のデータを書き込む ts.write Request.QueryString("a") & "," '結果0〜6を書く ts.write strMSG & "," 'ファイルに結果を書き込む ts.write Now '時刻を書く ts.write chr(13) & chr(10) '改行する '使ったファイルは閉じようよ ts.close Response.Write "あなたの回答は<b>" & strMSG & "</b>でした<BR>" Call test016_SUM() '結果表示を呼ぶ 016追加 End if End Sub Sub test016_SUM() '結果の表示関数 dim strRECORD 'レコード内容を一時保存 dim nCNT(10) 'カウンター 変数 10個もいらないけど dim nSUM '回答の合計数 nSUM = 0 '初期化する 'カウンター変数をループで初期化しておく For i = 0 to 10 nCNT(i) = 0 Next 'FileSystemObjectを生成します、、って英文、そのままジャン。 Set objFS = Server.CreateObject("Scripting.FileSystemObject") 'test016.txt 結果ファイルを読取専用モードで開く Set ts = objFS.OpenTextFile(Server.MapPath("test016.txt"), 1, True) Do While ts.AtEndOfStream = False 'ファイルの終端になってない間ループする strRECORD = ts.ReadLine 'ファイルからデータを一行を読む 'Left関数を使って左から1文字目をCintで数値変換 i = Cint(Left(strRECORD, 1)) '読みこんだレコードの1文字目を数値変換 'nCNT(i番目)をカウントアップ nCNT(i) = nCNT(i) + 1 '*2合計数は無条件にカウントアップ nSUM = nSUM + 1 Loop ts.close '使ったファイルは閉じようよ Response.Write "<hr><h3>アンケート集計結果</h3><hr>" Response.Write "アンケート回答数<b> " & nSUM & "</b>人です" '*4回答数表示 'Array関数を使用して、評価コメントを初期化 strBOX = Array("かなり不満", "不満", "少し不満", "どちらとも言えない", _ "まぁまぁ", "満足", "大変満足") '結果の表示を<TABLE>タグを使用して表示 Response.Write "<TABLE border=1>" 'border=1で境界線(ワクを表示) Response.Write "<TR><TD>評価</TD><TD>コメント</TD><TD>人数</TD>" Response.Write "<TD>%</TD></TR>" '*3 %の見出しを追加 'ループで回して評価の集計データを表示する For i = 6 To 0 Step -1 '6〜0のループを作る Response.Write "<TR><TD>" & i & "</TD>" Response.Write "<TD>" & strBOX(i) & "</TD>" Response.Write "<TD ALIGN=RIGHT>" & nCNT(i) & "</TD>" 'ALIGN=RIGHT追加 '%を計算して、表示する strMSG = FormatNumber((nCNT(i) / nSUM) * 100, 1) '計算と変換処理 Response.Write "<TD ALIGN=RIGHT>" & strMSG & "%</TD></TR>" Next Response.Write "</TABLE>" '忘れずにテーブルを終わりにする End Sub %>

広告

リンク広告
  1. --[ガチャ 爆死や神引き 課金などなど]
  2. --[【ガチャ】モンスト 3500万人記念!!オーブ0ガチャ]
  3. --[Access コンボボックスを使ってみた]
  4. --[ Windows7 OSのフルバックアップ システムイメージバックアップ]

Googleで関連項目を検索する

[キーワード:Call] と サンプル|解説|Dim|Set で検索
↓で検索して他のページも確認してみてください。

Google

あれ?私のページが検索に載ってない(笑)一度お試しを(私のページに、また戻ってきてね(爆))

[Topへ戻る] −−>[ASP系のTOPへ戻る] −−>[記事一覧を見る]

リンク 三流君 ASP系 の 解説を項目ごとにまとめてみました

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。

次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません

DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く



VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。

その他:blogや広告↓
[日記的なblog]← あまり更新してないけど・・・
[永遠の下書き日記?]← 恥ずかしいのであまり載せてないけど・・・
[ひとりで掲示板?] ←一人で?掲示板?ぉぃぉぃ


[Topへ戻る] −−>[ASP系のTOPへ戻る] −−>[記事一覧を見る]

現在時刻は、2017/07/20 21:29:34です。