出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

Select文の連動   まぁさん [2003/09/24 11:35:08] [3687]
  Re:Select文の連動   YasNet(管理人)さん [2003/09/24 12:40:03] [3689]
    Re:Select文の連動   まぁさん [2003/09/24 13:20:50] [3690]
      Re:Select文の連動   YasNet(管理人)さん [2003/09/25 8:36:43] [3691]
        Re:Select文の連動   まぁさん [2003/09/25 15:02:55] [3692]

[3687] Select文の連動
投稿者:まぁさん 2003/09/24 11:35:08
始めまして 初投稿 ASP 初心者です。

Select文を 連動させて アクセスから 情報を引っ張る
http://www.carview.co.jp/compare/choose.asp
↑ イメージ的には ここのような サイトを 作成しようと思っています。
いろいろ 文献
など みて まねてみたのですが。どうも うまくいきません。

ASP の Select文を 使って 連帯を させたいのですが
2 つの <Select> ですと うまく いくのですが 3つめ になると
いろいろ 不具合が おきます。

まず <Select> 2個目を 選択して 3個目を 選択しようとすると
2個目に 選択 されたものの 表示が デフォルトの 状態に 戻ってしまいます。

後 3個目の Selectを 選択すると 2個目の Value が 消えてしまいます。:;

それは <Select>2個目の 値が 保持できてないのでしょうか・・。
本当に まったく わからず いきづまっています。
どなたか 教えていただけないでしょうか
宜しくお願い致します。

DBは ACCESS2000で作成
DNS "Machiko"
TABLE Sha kaishaID TN
から できてます。

<%
Flg = RTrim(Request("flg"))
Flg2 = RTrim(Request("flg2"))
Flg3 = RTrim(Request("flg3"))
AaaCdP = Clng(Request("a"))
BbbCdP = Clng(Request("b"))
CccCdp = Clng(Request("c"))
%>
<HTML>
<HEAD>
<Script language="JavaScript">
<!--
function getBSelect()
{
with(document.frmSearch)
{
if (a[0].selected == true)
{
a.focus();
return false;
}
else
{
flg.value = "a";
submit();
return true;
}
}
}
//-->


<!--

function getCSelect()
{
with(document.frmSearch)
{
if (b[0].selected == true)
{
b.focus();
return false;
}
else
{
flg2.value = "b";
submit();
return true;
}
}
}
//-->
<!--

function getDSelect()
{
with(document.frmSearch)
{
if (c[0].selected == true)
{
c.focus();
return false;
}
else
{
flg3.value = "c";
submit();
return true;
}
}
}
//-->
</script>

<title> test </title>
</head>

<body BGColor= Silver>
<!--/////////////////////こっからTABLE☆/////////////////////-->

<table BgColor=Snow width= '470px' Border=0
Style="Position:Absolute;TOP:100px;left:20px;">
<td width='210px' Height='100px'
BgColor=#006699 ROWSPAN='4'>
<Font Color = White><b>モデルを選択して下さい</b></td>

<td BGCOLOR= Navy><hr></td><tr>

<form name="frmSearch" method="post">
<input type="hidden" name="flg">
<td BGColor=#6699CC>
<!--■■■■■■■■Select1開始■■■■■■■■■-->

<select name="a" onChange="return getBSelect()" width="250px">

<option value= "999">-------会社を選択して下さい-------
<%
Set OBJ1 = Server.CreateObject("ADODB.Connection")
OBJ1.Open "Machiko"
SQLQuery1="SELECT * FROM KaishaID "
Set RS=OBJ1.Execute(SQLQuery1)

Do While RS.EOF <> True
AaaCd = Clng(RS("Cno"))
AaaName = RTrim(RS("Conp"))

If AaaCdp = AaaCd Then
%>
<option value="<%= AaaCd %>"selected>
<%= AaaName %>
<% Else %>
<option value="<%= AaaCd %>"><%= AaaName %>
<%
End If
RS.MoveNext
Loop

OBJ1.Close
Set RS = Nothing
SQLQuery1 = ""
%>
</select></td><tr>


<!--■■■■■■■■Select2開始■■■■■■■■■-->




<input type="hidden" name="flg2">
<td BGColor=#6699CC>

<select name="b" onChange= "return getCSelect()">

<option value="999">-------車種を選択して下さい-------
<%
If Flg = "a" Then
Set OBJ2 = Server.CreateObject("ADODB.Connection")
OBJ2.Open "Machiko"
'''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''
sqlStr2 = "Select * From Sha Where CLng(Cno) = '"& AaaCdP &"'"

Set rsRs1 = OBJ2.Execute(sqlStr2)

Do While rsRs1.EOF <> True
BbbCd = RTrim(rsRs1("Cno"))
BbbName = RTrim(rsRs1("Name"))
BbbC = Clng(rsRs1("SID"))
%>
<InputType=Text Value = <% =BbbCdp %>>
<%
If BbbCdP = BbbC Then


%>
<option value=<%= BbbC %> selected><%= BbbName %>
<% Else %>
<option value="<%= BbbC %>"><%= BbbName %>
<%
End If
rsRs1.MoveNext
Loop

OBJ2.Close
Set rsRs1 = Nothing

sqlStr2 = ""
End If
%>
</select>
</td><tr>
<td height=25px BGColor=#6699CC>

<!--■■■■■■■■Select3開始■■■■■■■■■-->
<input type="hidden" name="flg3">
<Select Name="c" onChange= "return getDSelect()">
<Option Value="5">-------年式を選択して下さい-------
<%
If Flg2 = "b" Then '項目が選択されていたら
Set OBJ3 = Server.CreateObject("ADODB.Connection")
OBJ3.Open "Machiko"

sqlStr3 = "Select * From TN Where CLng(SID) = '"& BbbCdP &"'"

Set rsRs2 = OBJ3.Execute(sqlStr3)

Do While rsRs2.EOF <> True
CccCd = RTrim(rsRs2("SID"))
CccName = RTrim(rsRs2("YearT"))
If CccCdp = CccCd Then
%>
<option value="<%= CccCd %>" selected><%= CccName %>
<% Else %>
<option value="<%= CccCd %>"><%= CccName %>
<%
End If
rsRs2.MoveNext
Loop

OBJ3.Close
Set rsRs2 = Nothing

sqlStr3 = ""
End If
%>
</select>



</td>
</Table>






<!--テーブル2☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆-->
<%
Set ObjConnA = Server.CreateObject("ADODB.Connection")
ObjConnA.Open "Machiko"
SQLA = "Select * From Sha Where CLng(SID) = '"& BbbCdP &"'"


Set ObjRSA = ObjConnA.Execute(SQLA)
Aaa = (ObjRSA("画像"))
AName = (ObjRSA("Name"))
%>
<!--☆★☆★☆★☆★☆★☆★☆TABLESHAの情報★☆★☆★☆★☆★☆★☆★☆★
-->
<table
Style="Position:absolute;Top:205px;Left:235px;width:254px;height:120px;"
bgColor=Snow>
<td BGColor=Navy Height="8px">
<Center>1<font Color= 'White' size=2> 画 像 </font>
</td>
<tr>


<td BGCOLOR=Snow height=60px width=250px>
<Center>
<% = Aaa %>
</Center>
</td><tr>
<td BGCOLOR=Snow height=20px width=250px>
<Center><b><font size=2 Color='#6666CC'>
<% = AName %></b>
</Center>
</td>
<%
'■■■■■■■■■■■DBを閉じる■■■■■■■■■■■■■■■
ObjConnA.Close
Set ObjRSA = Nothing
SQLA = ""

%>
</Table>

<!--☆★☆★☆★☆★☆★☆★☆TABLE■TN■の情報★☆★☆★☆★☆★☆★☆★☆
★-->
<%
Set ObjConnA = Server.CreateObject("ADODB.Connection")
ObjConnA.Open "Machiko"
SQLA2 = "Select * From TN Where CLng(NID) = '"& CccCdp &"'"


Set ObjRSAA = ObjConnA.Execute(SQLA2)

TNZ = (ObjRSAA("全長"))
TNM = (ObjRSAA("価格"))

%>
<table
Style="Position:absolute;Top:330px;Left:235px;width:254px;height:120px;"
bgColor=Snow>
<td BGColor=Navy Height="8px">
<Center><font Color= 'White' size=2>詳 細 表 示</font>
</td>
<tr>


<td BGCOLOR=Snow height=60px width=250px>
<Center><b><font size=3 Color='gray'>
<% = TNZ %></b>
</Center>
</td><tr>
<td BGCOLOR=Snow height=20px width=250px>
<Center><b><font size=3 Color='gray'>
<% = TNM %></b>
</Center>
</td>
<%
'■■■■■■■■■■■DBを閉じる■■■■■■■■■■■■■■■
ObjConnA.Close
Set ObjRSAA = Nothing
SQLA2 = ""

%>
</Table>
</form>
</body>
</html>



[3689] Re:Select文の連動
投稿者:YasNet(管理人)さん 2003/09/24 12:40:03
こんにちは YasNet(管理人)です。

ちゃんとソースを見てないですが
状況から、再度Value値を設定していないからではないでしょうか

画面がリフレッシュされるとValue値は元に戻りますので・・・
はずしていたらすみません。

それでは 失礼致します。

[3690] Re:Select文の連動
投稿者:まぁさん 2003/09/24 13:20:50
ありがとうございます。
Value で 全部の 値を セットしなおしたら
なんとか 値が 保持されるようになりました。^^
すごい 感激です!!
ただ 今度は 最後に 選んだ 値が デフォルトで のこらないんです。。
これは どうすればいいのでしょうか

最後の セレクト文に IF文を いれて
★If Flg2 = b★「項目が選択されてたら」
<option value = "<%= CccCd %>" selected><%= CccName%>
<else>「それ以外は」
<option value= "<%= CccCd %>"><%= CccName%>
に しているのですが
どうも うまく いきません。
ご指導 お願いいたしますmm

[3691] Re:Select文の連動
投稿者:YasNet(管理人)さん 2003/09/25 8:36:43
こんにちは YasNet(管理人)です。

う〜ん
基本的な考え方はあっていると思うので
ブラウザに表示されているHTMLを確認してどういう状態なのか
確認してみて下さい。

多分複数selectedされていると思うのですが・・・
違うかなぁ〜

では

> ありがとうございます。
> Value で 全部の 値を セットしなおしたら
> なんとか 値が 保持されるようになりました。^^
> すごい 感激です!!
> ただ 今度は 最後に 選んだ 値が デフォルトで のこらないんです。。
> これは どうすればいいのでしょうか
>
> 最後の セレクト文に IF文を いれて
> ★If Flg2 = b★「項目が選択されてたら」
> <option value = "<%= CccCd %>" selected><%= CccName%>
> <else>「それ以外は」
> <option value= "<%= CccCd %>"><%= CccName%>
> に しているのですが
> どうも うまく いきません。
> ご指導 お願いいたしますmm
>

[3692] Re:Select文の連動
投稿者:まぁさん 2003/09/25 15:02:55
ありがとうございました。
なんか 肝心の
If Flg2 = b
の 部分がぜんぜん 関係ない フィールドを比較
しちゃっていました。
ご指導 ありがとうございました。
おかげさまで
だいたい できてみました。
ASPって なんか しょっちゅう
エラー とかに なっちゃうけど
できてくると すごい 楽しいですね
これからも 参考に させていただきます。



TreeBBS For ASP V.0.1.3
Program By YasNet