- PR -

checkboxの抽出

1
投稿者投稿内容
わさび
会議室デビュー日: 2003/12/05
投稿数: 12
投稿日時: 2009-01-22 13:07
よろしくお願い致します。

言語:ASP(VBScript) DB:Access2003

フォーム画面のcheckboxにて

<input name="A" type="checkbox" value="山">山
<input name="A" type="checkbox" value="川">川
<input name="A" type="checkbox" value="海">海
と複数選択で登録できるようにしました。
仮に山と川を選択した場合、Accessのフィールドには
「山、川」とカンマ区切りで登録されます。

このデータ(山、川)をフォーム画面のcheckboxにて変更処理をしたいのです。
※登録したデータにはチェックが入ってる状態。

条件としましては、「山、川、海」といった情報マスタを
別テーブルにもっています。

変更の画面は
□山 □川 □海 →この情報は情報マスタから引っ張る
登録したデータのレ点チェック→登録した別テーブルのデータ(山、川)から引っ張る
このようにするにはどうしたらいいのでしょう?
ご教授のほどよろしくお願い致します。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2009-01-22 13:15
ASP とは、レガシーASP のことでしょうか?

何に困っているのかよく分かりませんが、
value に設定する情報を情報マスタなるものから取得し、
別テーブルから読み込んだデータを元に checked を設定するかどうか決めるロジックを組むだけでは?
わさび
会議室デビュー日: 2003/12/05
投稿数: 12
投稿日時: 2009-01-22 13:32
Active Server Pages(ASP)になります。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2009-01-22 14:05
レガシーASP は遠い記憶なので、イメージ的なものですが。

コード:
<% 事前に別テーブルのデータを取得し、配列等にセットしておく %>

<% Do Until 情報マスタ.EOF %>
<input name="<%= 情報マスタの値 %>" type="checkbox" value="<%= 情報マスタの値 %>"
<% If 配列内に情報マスタの値と同じものがある場合 %>
 checked>
<% Else %>
>
%>
<%= 情報マスタの値 %>
<%
次レコード読み込み
Loop
%>



というような感じではないでしょうか。
もっとキレイに書けたかもしれませんが。
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2009-01-22 14:05
登録された「山、川」を抽出後、「山」と「川」に分けて表示すれば良いと思います。
でも、できれば正規化した方が良いですね。
わさび
会議室デビュー日: 2003/12/05
投稿数: 12
投稿日時: 2009-01-22 14:35
ありがとうございます。

同じようなことを考えていたのですが

<% If 配列内に情報マスタの値と同じものがある場合 %>
ここでとまってしまい悩んでます。
配列はsplitで抜き出しています。
その配列と情報マスタの合致させる方法がわからないんです。
配列(山、川)と情報マスタ(山、川、海)
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2009-01-22 14:56
引用:

わさびさんの書き込み (2009-01-22 14:35) より:

<% If 配列内に情報マスタの値と同じものがある場合 %>
ここでとまってしまい悩んでます。
配列はsplitで抜き出しています。
その配列と情報マスタの合致させる方法がわからないんです。
配列(山、川)と情報マスタ(山、川、海)


何も考えずに行なうのであれば、
コード:

<%
result = False
For i = 0 To Ubound(配列) - 1
If 情報マスタの値 = 配列(i) Then
result = True
Exit For
End If
Next i
If result Then
%>
チェック付ける
<% Else %>
チェック付けない
<% End If %>


とか。

#蛇足
質問する場所が不適当だと思います。
ASP だと「VB業務アプリケーション開発研究室」とかかな。
次から気をつけた方がいいかも。

#Loop 処理に誤りがあったので修正。

[ メッセージ編集済み 編集者: ひろれい 編集日時 2009-01-22 14:58 ]
わさび
会議室デビュー日: 2003/12/05
投稿数: 12
投稿日時: 2009-01-22 15:25
ありがとうございます。
たすかりました。
1

スキルアップ/キャリアアップ(JOB@IT)