Server IISの設定が変更になった?ので、過去のテストがうまく動かない場合があります。
情報も古いのでソースは参考程度に・・・<>

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

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

SQL WHERE句 複数条件作成で SplitとUBoundを使用

test046-2.asp

Request.QueryString("KUBUN")=VBA, GUCHI
UBound(strBOX)=1
strBOX(0)=VBA
strBOX(1)= GUCHI
作成した条件[Where F_KUBUN = 'VBA' OR F_KUBUN = 'GUCHI' ]

発行する(した)SQL文は
Select * From KANSOU Where F_KUBUN = 'VBA' OR F_KUBUN = 'GUCHI' ORDER BY WriteTime DESC
です
日付区分NO.感想
2017/05/27 20:29:39GUCHI全体ダウン
2017/05/27 20:29:10VBA全体ウォータータンク
2017/05/24 21:44:52GUCHI全体ボディ・フェイシャルシート
2017/05/24 21:44:22VBA全体ペットシーツ
2017/05/23 1:13:30GUCHI全体ガソリン携行缶
2017/05/23 1:13:02VBA全体カセットコンロ&ガスボンベ
2017/05/22 8:02:11GUCHI全体ダイバーズウオッチ
2017/05/22 8:01:41VBA全体ポリタンク
2017/05/20 12:18:15GUCHI全体水・ミネラルウォーター
2017/05/20 12:17:47VBA全体紙おむつ
2017/05/18 19:10:07GUCHI全体ダウン
2017/05/18 19:09:37VBA全体ウォータータンク
2017/05/17 11:02:44GUCHI全体ミリタリーウオッチ

表示させたい区分をチェック(選択)して下さい
ASP系へのご意見を表示
VBA系へのご意見を表示
愚痴系へのご意見を表示
コンビニ系へのご意見を表示
←チェック後送信ボタンを押してください

関連項目
db029.mdbへデータ追加する

コーヒーブレイク たまには寄り道、休憩も(↓広告です):
広告:[Windows 自動ログイン control userpasswords2 や netplwiz]

ASPサンプルソース(プログラムのソースコード)

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

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

表示色の説明:ASP VBScriptは <% 〜 %>
キーワードはSplit です。 <%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>SQL WHERE句 複数条件作成で SplitとUBoundを使用</title> </head> <body> <h1>SQL WHERE句 複数条件作成で SplitとUBoundを使用</h1> test046-2.asp<br> <hr> Request.QueryString("KUBUN")=<%=Request.QueryString("KUBUN")%><br> <% '頭で、入力パラメーターをチェックする strWHERE = "Where " '初期値の代入 strBOX = Split(Request.QueryString("KUBUN"), ",") 'カンマで区切る Response.Write "UBound(strBOX)=" & UBound(strBOX) & "<br>" 'ループでデータを作成する For i = 0 To UBound(strBOX) 'UBound使用インデックス最大値までループ Response.Write "strBOX(" & i & ")=" & strBOX(i) & "<br>" If strWHERE <> "Where " Then strWHERE = strWHERE & " OR " '2個目〜 strWHERE = strWHERE & "F_KUBUN = '" & Trim(strBOX(i)) & "' " Next 'Where文が生成されたかチェックする If strWHERE = "Where " Then 'そのままだったら条件文を消す Response.Write "<b>条件がありませんでした</b><hr>" strWHERE = "" '条件無しに強引にする Else Response.Write "作成した条件[<b>" & strWHERE & "</b>]<hr>" End If '表示の関数を呼ぶ(外側に出したかったので) Call DATA_PRINT(strWHERE) %> <HR> <FORM ACTION="test046-2.asp" METHOD="GET"> <font color="blue">表示させたい区分をチェック(選択)して下さい</font><br> <INPUT TYPE="CHECKBOX" NAME="KUBUN" VALUE="ASP">ASP系へのご意見を表示<BR> <INPUT TYPE="CHECKBOX" NAME="KUBUN" VALUE="VBA">VBA系へのご意見を表示<BR> <INPUT TYPE="CHECKBOX" NAME="KUBUN" VALUE="GUCHI">愚痴系へのご意見を表示<BR> <INPUT TYPE="CHECKBOX" NAME="KUBUN" VALUE="24H">コンビニ系へのご意見を表示<BR> <INPUT TYPE="submit" VALUE="送信">←チェック後送信ボタンを押してください </FORM> <hr> 関連項目<br> <A href="test029-1.asp">db029.mdbへデータ追加する</a><br> </body> </html> <% 'パラメータを受け取り、SQLを発行 Sub DATA_PRINT(strWHERE) 'ADO DB Connection オブジェクトを作成する、英文そのままじゃん Set db=Server.CreateObject("ADODB.Connection") '.Provider?プロバイダー?通信会社?じゃなくって 'データアクセスにはJet.OLEDB.4.0を使うことを設定 db.Provider = "Microsoft.Jet.OLEDB.4.0" '次に、接続DBの位置を渡すので、Server.MapPathで変換して渡す db.ConnectionString = Server.MapPath("db029.mdb") 'やっとデータベースを開ける db.open 'SQL文を作る strSQL = "Select * From KANSOU " '感想(KANSOU)テーブルから全項目(*)セレクト strSQL = strSQL & strWHERE '作成した条件を使用する strSQL = strSQL & "ORDER BY WriteTime DESC" '並べ替えは時間の降順 'オマケで画面にデータ表示 Response.Write "<hr>発行する(した)SQL文は<br><B><font color='green'>" Response.Write strSQL & "</font></B><br>です<hr>" 'お約束のレコードセットの作成 SQL文の発行 Set rs = db.Execute(strSQL) 'データの表示をテーブルで行う Response.Write "<TABLE Border='1'>" '見出しをバカっぽく、そのまま書き込む Response.Write "<TR>" Response.Write "<TD>日付</TD>" Response.Write "<TD>区分</TD>" Response.Write "<TD>NO.</TD>" Response.Write "<TD>感想</TD>" Response.Write "</TR>" 'お約束のEOFまでループは(データが無くなるまでループ)、 Do While rs.EOF = False 'レコードセットの.EOFがFalseの間 Response.Write "<TR>" '内容を表示する、行開始のタグ<TR> Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" Response.Write "<TD>" & rs.Fields.Item("F_KUBUN") & "</TD>" If rs.Fields.Item("F_NO") = 0 Then '0の全体かチェック Response.Write "<TD>全体</TD>" Else Response.Write "<TD>" & rs.Fields.Item("F_NO") & "</TD>" 'NO表示 End If Response.Write "<TD>" & rs.Fields.Item("F_MEMO") & "</TD>" Response.Write "</TR>" '次のレコードにポインタを移動する rs.MoveNext 'これを忘れると悲惨なことに、、、 Loop Response.Write "</TABLE>" 'テーブルは終わりです '開いていたレコードセットを閉じる rs.Close 'データベースも閉じようよ db.Close 'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど) Set db = Nothing End Sub %>

広告

リンク広告
  1. --[恋声 ボイスチェンジ フリーソフト]
  2. --[【ガチャ】モンスト 3500万人記念!!オーブ0ガチャ]
  3. --[Access コンボボックスを使ってみた]
  4. --[ Windows7 OSのフルバックアップ システムイメージバックアップ]


広告

リンク広告
  1. --[Windows 自動ログイン control userpasswords2 や netplwiz]
  2. --[ Windows10 OSのフルバックアップ システムイメージバックアップ]
  3. --[Windows 仮想メモリ ページファイルの移動や設定]
  4. --[【ガチャ】モンスト 3500万人記念!!オーブ0ガチャ]
  5. --[Access コンボボックスを使ってみた]


Googleで関連項目を検索する

[キーワード:Split] と Sub|Function で検索する。
↓で検索するとプログラムの例 Sub/Function でまとまったHP

Google

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

三流解説とリンクページを紹介

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系へ戻る] −−>[バックナンバーを見る]


現在時刻は、2017/05/28 17:27:40です。