VBスクリプトでよくわからないところがあるので教えてください。たくさんのチェックボックスがあるので、For i To ~Next の構文を使って効率よくチェックされたものだけSQLの構文に取り入れて検索しようとしたのですがうまくゆきません。どのようにしたらよいでしょうか。
今試してみたのは、検索条件の設定画面で、
<input type=checkbox name=tatemono(0) value=自社使用>自社使用
<input type=checkbox name=tatemono(1) value=事業用>事業用
<input type=checkbox name=tatemono(2) value=電算センター >電算センター
というようなチェックボックスを
検索処理用ページで
SQL="SELECT * FROM [データ] "
'チェックボックスのチェック数が0でなければWHERE文をいれるflagをTrueにしておく
If Request.Form("tatemono").Count>0 Then
SQL=SQL & "WHERE "
flag=True
End If
'チェックボックスを最初から調べてチェックされていたらその項目がyesになっているという条件をSQL文に追加する
For i=1 To Request.Form("tetemono").Count
If Request.Form("tatemono")(i)<>"" Then
fldname=Request.Form("tetemono")(i)
If flag=True Then
SQL = SQL & "AND"
Else
SQL = SQL & "WHERE"
End If
SQL= SQL & fldname & "=Yes"
End If
Next
とやってみたのですが、ぜんぜん駄目みたいです。
根本的にどこか間違ってますよね・・・。
直すところを教えてください。
お願いします。
No.2ベストアンサー
- 回答日時:
aspではVBやPHPのようにフォームの項目を配列として取り扱うことは出来ません。
下記のように行えばいいんじゃないでしょうか。Dim tatemonoCount
Dim strSQL
Dim strWhere
tatemonoCount = 2 '自分で件数を明記する
strWhere = ""
For i = 0 To tatemonoCount
If Request.Form("tetemono(" & i & ")") <> "" Then
strWhere = strWhere & "文字列と添え字iから作成されるフィールド名" = -1
End If
Next
strSQL="SELECT * FROM [データ] "
If strWhere <> "" Then
strSQL = strSQL & strWhere
End If
'SQLの実行
Request.Form("tetemono").Countはチェックされた数を返してくるだけですよね。間違ってました。
しかもHTML画面をForm("tatemono")にしてないし・・・。
もう一度整理して書き直してみます。
とても参考になりましたありがとうございました。
No.1
- 回答日時:
>うまくゆきません
うまくいかない場合は、自分の予想の動きと、実際の結果を書きましょう。
とりあえず、どこが悪いのか切り分けてみる必要があります。今回の場合、
・チェックボックスの値を取得
・SQLを実行
のどちらかに問題があると考えられます。
私が見たところチェックボックスの値が取れていないのではないかと思われます。
>name=tatemono(0)
>Request.Form("tetemono")
これではtatemono(0)の値を取得できません。Request.Form("tatemono(0)")でなければ取得できません。
この回答への補足
はい。ASPでのチェックボックスの値の取得の仕方が今ひとつよくわかっていないんです。
もう一度テストして試してみます。
form name を統一すると、チェックされたものだけのvalueがコンマ区切りで取得できるところまではわかったんですが、ひとつひとつを取り出したかったので、変なことをしてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オフになっているチェックボッ...
-
【jsp/Java】チェックボックス...
-
form内に2つ以上のブロック要素...
-
チェックボックスのチェックを...
-
背景色を変えて未入力チェック...
-
フォームのチェックボックスの...
-
EclipseでSpringを使用し、テー...
-
ラジオボタンの選択でチェック...
-
Objective-Cでチェックボックス...
-
JSP内で可変するチェックボック...
-
複数のチェックボックス項目が...
-
チェックボックスで指定したも...
-
return trueとreturn falseの用...
-
ハイパーリンクを別ウインドウ...
-
テーブルにおける行(セルにプル...
-
フォームのメニューリストを外...
-
プルダウンで選択された値を別...
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
-
特定<table>内の<td>の色を変える
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスのON/OFFでVal...
-
チェックボックスの設定
-
【jsp/Java】チェックボックス...
-
チェックボックスで指定したも...
-
背景色を変えて未入力チェック...
-
JSP内で可変するチェックボック...
-
確認ページからフォームページ...
-
配列のチェックボックスをjavas...
-
チェックボックスのグループ化...
-
JavaScriptからの戻り値
-
チェックボックスのON/OFFに応...
-
contact-form7のプラグインでチ...
-
スクリプト内でチェックボック...
-
プルダウンメニューから特定曜...
-
チェックボックスを使って条件検索
-
チェックボックスとラジオボタ...
-
if文でelseを使わずに否定
-
checkboxをクリックしてリロー...
-
チェックボックスで合計値を計...
-
<input type="checkbox" checke...
おすすめ情報