やりたい事は20件位の表示の中から納品書を印刷する為に選択し数量変更をして
確認画面をだしたいのですが...
チェックボックスのチェックされているデーター、テキストボックスのデーター
両方ともデーターを受け取る事はできたのですが、チェックボックスはチェックされているデーターだけで、テキストボックスは最初から、全く別のレコードのデーターが入ってしまいます。どうしたらチェックされたレコードのテキストを受け取れるか教えて下さい。

sentaku.asp
<input type="checkbox" name="chk" value="<%=RS.fields("注文番号")%>">
<INPUT size="10" type="text" name="su" maxlength="10" value="<%=RS.fields("注文残")%>">

kakunin.asp
<%
For i = 1 To Request.Form("chk").Count
chuno1 = Request.Form("chk")(i)
nousu1 = Request.Form("su")(i)

next
%>

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> チェックボックスはチェックされているデーターだけ



正しい動作です。
チェックされていないデータまで送信されたら、チェックボックスの意味がありませんので

> テキストボックスは最初から、全く別のレコードのデーターが入ってしまいます。

これはHTMLの記述に仕方によって、
Request.Form("chu")(i)
Request.Form("su")(i)
が対にならない可能性が出てきます。

よって、

sentaku.asp
<input type="checkbox" name="chk" value="<%=RS.fields("注文番号")%>">
<INPUT size="10" type="text" name="su<%=RS.fields("注文番号")%>" maxlength="10" value="<%=RS.fields("注文残")%>">

kakunin.asp
<%
If Request.Form("chk").Count > 0 Then
 For i = 1 To Request.Form("chk").Count
  chuno1 = Request.Form("chk")(i)
  nousu1 = Request.Form("su" & chuno1)

  '--- chuno1とnousu1を利用した処理など
 Next
End If
%>

というコードを記述すれば、
チェックしたデータのみ取得できます。

どこか勘違いしていれば補足お願いします。
    • good
    • 0
この回答へのお礼

できました。いろいろなサイトを見ましたが同じ例がなくて...
本当に助かりました。ありがとうございました。

お礼日時:2001/06/04 11:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELのチェックボックスについて

EXCEL2003を使用しています。

■質問項目があり、回答する複数のセルにチェックボックスを配置してあります。
A列:質問
B列:回答のチェックボックス
C列:回答のチェックボックス
D列:回答のチェックボックス

Z列:OK 又は NGと表記したい。

■各列の回答チェックボックスが全てonになっていたらOK、1つでもoffになっていたらNGと、Z列に表記させたいのですが、どのような式になりますか?

ご回答の程、よろしくお願いいたします。

Aベストアンサー

チェックボックスの "リンクするセル" を利用するのが手早いと思います。
印刷範囲外に true とか false を出力するようにして、そこをあとで集計するとして、その結果をZ列に返しては如何でしょうか?

たとえば、B2のチェックボックスのリンク先を、ずっと右のほうの、AB2というセルにリンクさせます。

そうすると、B2のチェックボックスのチェックしたかどうかが、
true もしくは false で、AB2のセルに表示されます。
これを、C2のチェックボックスをAC2にリンク、
D2のチェックボックスをAD2にリンク。。。という具合に
Y2をAY2にリンクというところまで続けていきます。

次に、AZ2のところに、↓を書き込みます。
=countif(AB2:AY2,"TRUE")
すると、AZ2のところに数字が出ます。

あとは、Z2のところに
=if(AZ2=24,"OK","NG")
と入力してあげれば、思ったとおりに出来るはずです。

3行目以降は、2行目を丸ごとコピーすれば使えます。

チェックボックスとリンクの仕方は下記サイトを参考にしてください。

参考URL:http://kokoro.kir.jp/excel/checkbox.html

チェックボックスの "リンクするセル" を利用するのが手早いと思います。
印刷範囲外に true とか false を出力するようにして、そこをあとで集計するとして、その結果をZ列に返しては如何でしょうか?

たとえば、B2のチェックボックスのリンク先を、ずっと右のほうの、AB2というセルにリンクさせます。

そうすると、B2のチェックボックスのチェックしたかどうかが、
true もしくは false で、AB2のセルに表示されます。
これを、C2のチェックボックスをAC2にリンク、
D2のチェックボックスをAD2にリン...続きを読む

Q"<%=date変数%>" を "<%=date18(←仮数字)%>"とHTML上で表示させたい

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%
    Else
    End if
    a = a + 1
   Loop
   Response.Write str
   Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="<%=date<%=num%>%>"【←問題の箇所です】>
   <br>
   <div id="caldiv<%=num%>"></div>
<%End Function%>

いつもお世話になっております。
現在ASPでプログラムを作成していますが。

<%= %> で囲まれた中に更に変数(<%= %>)を入れることになりました。
どの様にすれば
HTMLソースに value="<%=date変数%>"と表示出来ますか
アドバイスお願いいたします。

以下ソースを記載します。

<!-- カレンダー設置関数 -->
<% Function cal(num)
   Dim a
   Dim str
%>
   <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%
   a = 2
   ...続きを読む

Aベストアンサー

実際に試したわけじゃないですけど、普通に &lt;%=date変数%&gt; で
できませんか。
(実体参照)

QExcelでセルの値によりチェックボックスを操作

EXCEL2007で作業しています。
シートにチェックボックスを配置しています。

・セルA1の値が「あ」だったら
チェックボックス1にチェックを入れる。

・チェックボックス2にチェックが入っていたら
オートシェイプ2を表示させる

上記2つを実現したいです。
どちらかひとつでもおしえていただければと思います。

よろしくお願いいたします!

Aベストアンサー

>「あ」と入力するシートとチェックボックスを配置しているシートが別シート

手順:
これまでのマクロを「漏れなく全部消去する」

改めて
チェックボックスのシートを開く
開発タブでデザインモードを選択,チェックボックスを右クリック,コードの表示を開始
下記のマクロを記載する

private sub CheckBox1_Click()
 application.enableevents = false
 worksheets("「あ」のシート名").range("F20") = iif(me.checkbox1,"あ","")
 application.enableevents = true
end sub

ファイルメニューからエクセルに戻り,忘れずに開発タブで「デザインモード」を終了する



「あ」のシートを開き,シート名タブを右クリック,コードの表示を開始
下記のマクロをコピー貼り付ける

private sub Worksheet_Change(byval Target as excel.range)
 if target.address = "$F$20" then
  application.enableevents = false
  worksheets("チェックボックスのシート名").checkbox1 = target = "あ"
  application.enableevents = true
 end if
end sub


以上です。

>「あ」と入力するシートとチェックボックスを配置しているシートが別シート

手順:
これまでのマクロを「漏れなく全部消去する」

改めて
チェックボックスのシートを開く
開発タブでデザインモードを選択,チェックボックスを右クリック,コードの表示を開始
下記のマクロを記載する

private sub CheckBox1_Click()
 application.enableevents = false
 worksheets("「あ」のシート名").range("F20") = iif(me.checkbox1,"あ","")
 application.enableevents = true
end sub

ファイルメニューからエクセ...続きを読む

Qvalue="<%=date25(25は変数です)%>"値を変数にしてデータを受け取りたい

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数件(26件)処理するとなると

 変数名1~26の処理をnumに置き換えて
 26個のテキストBOXにそれぞれのデータを出力したいのですが
 どの様に記述すればいいでしょうか?
(value="<%=date<%=num%>%>"にしましたが、データの取得は出来ませんでした。
 value="&lt;%=date<%=num%>%&gt;"も
 テキストBOXに<%=date1%>~26出力されて取得できませんでした)


 説明不足の点がありましたら、即追加いたします。
 以上、よろしくお願いいたします。



ソースを記載いたします

<!-- カレンダー設置関数 -->
<% Function cal(num)
  Dim a
  Dim str %>
  <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%  a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%   Else
    End if
     a = a + 1
    Loop
    Response.Write str
    Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="&lt;%=date<%=num%>%&gt;"【問題の箇所です】>
    <br>
    <div id="caldiv<%=num%>"></div>
<% End Function%>

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数...続きを読む

Aベストアンサー

VBScriptなら Eval関数を使って変数の値を <%= で出力しましょう

value="<%= Eval("date" & num ) %>">

といった具合にします

QExcel2007 でのチェックボックスの名称

Excel2007 でフォームコントロールのチェックボックスのオブジェクト名のつけ方を教えてください。

普通にチェックボックスをつくって、プロパティを表示してもオブジェクト名をつけれるところがありません。

ActiveXのチェックボックスだと該当するものがでてきます。

やり方を教えて頂ければ助かります。

Aベストアンサー

ぁ、失礼。
[オブジェクトの選択]は2007では[ホーム]タブの[編集]-[検索と選択]にあります。
さらにその下の[オブジェクトの選択と表示]メニューを使うと、
このメニューからでもオブジェクト名を変更する事ができます。

ついでにVBAで名前を設定する例。
'選択して
If TypeName(Selection) = "CheckBox" Then
  Selection.Name = "Check_1"
End If

'あるいはインデックス順にLoopして連番、またはTopLeftCell情報の利用、など
Dim cb As CheckBox
Dim i As Long
For Each cb In ActiveSheet.CheckBoxes
  i = i + 1
  cb.Name = "Check_" & i
  'cb.Name = "Check_" & cb.TopLeftCell.Address(0, 0)
Next

Q と <% %>は違うの??

ASP開発をしています。

あるASPでIncludeファイルで配列宣言
Dim gsABC(10)を宣言します。

Includeファイルの中身
<Script Language="VBSCRIPT" RUNAT="SERVER">
Dim gsABC(10)
</script>

そして、ASPファイルでその変数gsABC(0)を
使おうとするとエラーが発生します。

けれども、Includeファイルの中身を
<%
Dim gsABC(10)
%>

にすると正常に動きます。
2つは同じものだと思っていたのですが、
これによって違うものなのかと認識するように
しなければと思ってますが・・・

どこが違うのか分かりません。

どなたか分かりやすく簡単でいいですから
説明して頂けないでしょうか?
よろしくお願いします。

Aベストアンサー

おすすめは後者の 「 <% Dim gsABC(10) %> 」です。
Includeでしたら別に構いませんが、前者だとASPやHTMLに拡張子を決めてしまうとソースが丸見えです。
開発でもやりましたが、VB系のソースは基本的に後者だと思っています。

参考URL:http://tryasp.winscom.co.jp/sample/

QExcel VBAのチェックボックスについて

こんばんは、Excel vbaのチェックボックスについてご教授をお願いします。

Userformを作成しています。
チェックボックスを横に4つ配置したとします。その際、常にどれか一つのチェックボックスにしかチェックできないようにしたいのです(チェックしたあとに、違うチェックボックスにチェックしたら、先にチェックしてあるのもはチェックを消したい)。

このような事をしたい場合、マクロ記述での操作になるのでしょうか?それとも、何か違う操作かコマンドがあるのでしょうか?4つ一組でたくさん並べたいので、すべてにマクロ記述となると大変かな?と思いまして・・・。もし、マクロ記述でしか方法が無い場合、マクロ記述の内容も教えて頂ければと思います。

申し訳ありませんが、よろしくお願いします。

※Excel2000を使用しています。

Aベストアンサー

チェックボックスでも出来なくはないのですが、面倒くさいですね。
オプションボタンではダメなのでしょうか?

Aベストアンサー

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub SubmitFunctionCall(p_doc)
Dim l_divLogin
Set l_divLogin = p_doc.getElementById("loginForms")

Dim l_divSec
Set l_divSec = l_divLogin.ChildNodes(0)

Dim l_htmTbl
Set l_htmTbl = l_divSec.ChildNodes(0)

Dim l_htmTblRow
Set l_htmTblRow = l_htmTbl.Rows(0)

Dim l_htmTblCell
Set l_htmTblCell = l_htmTblRow.Cells(1)

Dim l_htmBtn
Set l_htmBtn = l_htmTblCell.ChildNodes(0)
Call l_htmBtn.Click()
End Sub


ってかこの手の質問は、「ASPカテゴリ」ではなく、「JavaScriptカテゴリ」か「VBカテゴリ」に質問した方が素早い回答を得られますよ。

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub Subm...
続きを読む

QExcelで各行にチェックボックスを設けたのですが

よろしくお願いします。
Excel2000で表計算をしており、各行にチェックボックスをつけているのですが、行を並び替えするとチェックボックスは並び替えされません。
一緒に並び替えされるようにはできないのでしょうか?

Aベストアンサー

他の方が回答されている
『セルに合わせて移動やサイズ変更をしない』

それ以外の原因として考えられるのは
チェックボックスがその行の中に完全に納まっていないとうまくソートされないはずです。

行の高さを高くしてみてソートを試してみてください。

QRequest.Form(key)の中身をクリアにする方法

前ページより、POSTされた「Request.Form(key)」の中身をクリアする方法を教えて下さい。
(key・・・フォーム要素名を指します。)

例えば、前ページで、
「<INPUT TYPE = "HIDDEN" NAME = "reload" VALUE ="1">」でPOSTする。
次ページでは、

<% If Request.Form("reloada") = 1 Then %>
<body onload ="init()">
<% Request.Form("reloada") = 0 %>
<% Else %>
<body>
<% End If %>

と、いうように、POSTされた値を用い判定処理が終わったら、Request.Form("reloada")の中身を「0」または「NULL」のようにクリアにしたいのです。
上記のように、「<% Request.Form("reloada") = 0 %>」とするとエラーになります。
実現方法を教えて下さい。お願い致します。

Aベストアンサー

画面1 → (サブミット) → 画面2 → (サブミット) → 画面3 → (ブラウザの戻る) → 画面2
と動かした場合に、画面2でinit()が呼ばれないようにする、ということですか?

戻るボタンを押した場合ですが、ASPは実行されずに以前のままの画面が表示されているかと思います。
ASPではなく、クライアント側のスクリプトで対応できないでしょうか。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
<title>テスト用</title>
<script language="JavaScript">
function init()
{
if (document.form1.reload.value == "1") {
return;
}
document.form1.reload.value = "1"; //initを実行したことのフラグ
document.form1.aaa.value = "DEFAULT";
}
</script>
</head>
<body onload="init();">
<form name="form1" action="page2.asp" method="post">
<input type="text" name="aaa">
<input type="submit">
<input type="hidden" name="reload" value="0">
</form>
</body>
</html>

一応IE6ではできるようでしたが、他のブラウザや設定によってはダメかもしれません。
また、もしもサーバー側のASPが再度呼ばれているようでしたら、この方法は使えません。

画面1 → (サブミット) → 画面2 → (サブミット) → 画面3 → (ブラウザの戻る) → 画面2
と動かした場合に、画面2でinit()が呼ばれないようにする、ということですか?

戻るボタンを押した場合ですが、ASPは実行されずに以前のままの画面が表示されているかと思います。
ASPではなく、クライアント側のスクリプトで対応できないでしょうか。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
<title>テスト用</title>
<script language="JavaScript">
funct...続きを読む


人気Q&Aランキング

おすすめ情報