いつもお世話になっております。

初めてアクセスでDBに挑戦しております^^;
質問は、
[見積番号][行][商品コード][商品名][数][単価][金額]のレコードがありそのレコードに[サービス]のチェックボックスを設けました。それとは別に[合計金額]を表示させる所があります。
[サービス]のチェックボックスをONにした時には、金額が計上されない合計金額の表示になるようにしたいのですがどのようにすればよいでしょうか?

IF分とか使うのでしょうか?詳しく無いのでなるべく簡単な方法をお願いしますm(__)m

A 回答 (1件)

フォームの中での話?



これって、帳票形式で、全ての欄があって、ヘッダorフッタに用意されているテキストボックスに、チェックされていないレコードの合計値を出したいって事?

要:詳細なレイアウト解説

この回答への補足

すみません わかりずらくて^^;
今回ご質問させて頂いているのは、見積作成フォームの中のサブフォームで見積詳細として表形式で作成しております。
フォーム上に[見積番号][行][商品コード][商品名][数][単価][金額]のテキストボックスとサービスやクレームの処理を表す為のチェックボックスを用意しております。
それとフッタに見積の合計金額を表示するテキストボックスを用意しました。
例えば
[見積番号 01][行1][コード888][鉛筆][数2][単価100][金額200]チェックボックスON
[見積番号 01][行2][コード444][物差][数3][単価230][金額690]チェックボックスOff
[合計金額 690]円
2ch さんのおっしゃる通り チェックされていないレコードの合計値がでてほしいのです。

わかりずらくてすみませんがよろしくお願い致します。
あと、ACCESS2000 で作成中です。m(__)m

補足日時:2003/11/08 02:26
    • good
    • 0
この回答へのお礼

ありがとう御座いました。質問の内容を考え直して改めて質問させて頂きます。

お礼日時:2003/11/19 20:14

お探しの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にリン...続きを読む

QVB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログ

VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラムを考えています。

グローバルキーフックを使用しないで、実現する方法はありますでしょうか?
ご教示の程お願いいたします。

Aベストアンサー

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その近辺を熟読してください。
そしてこれ
http://msdn.microsoft.com/en-us/library/aa380570(VS.85).aspx


#1さんが示した情報は「古い」のではなく、古くから存在する実現方法というだけです。
そして現在、新たな別方法が出現しているわけではありません。

.NETで作成するDLLとCで作成するDLLは当然異なりますので、質問の
「VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラム」
という質問には、「無理です」としか言いようがありません。

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その...続きを読む

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

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

Q【Access2003】レコードごとにチェックボックスをチェックをするにはどうしたら良いでしょうか?

1フォームの中に住所録を表示するサブフォームを格納。
2サブフォームにはチェックボックスを貼り付け。「既定のビュー」をデータシートにする。
3フォームを開く。
4サブフォームの「チェックボックス」をチェックするとすべてのレコードがチェックされてしまいます。

レコードごとにチェックをするにはどうしたら良いでしょうか?

Aベストアンサー

非連結コントロールなんでしょうね
テーブルのフィールドと連結したコントロールにすれば、レコードごとになります

印刷したいレコードを選択と言う場合でも・・・テーブルにフィールドを作成ください

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[ADO]と[ADO.NET]の違い

VB6とAD0が仲間で
VB.NETとADO.NETが仲間ですか?

よろしくお願いします。

Aベストアンサー

どんな回答を望んでいるのだろうか。
質問文に対する簡潔な回答をするならば 「そうです」 と回答しておきましょうか。
タイトルに対する回答なら 「ado ado.net 違い」 で検索すれば理解可能な回答を得られる。
http://www.google.co.jp/search?q=ado+ado.net+違い&ie=UTF-8&oe=UTF-8&hl=ja

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

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

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

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

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

※Excel2000を使用しています。

Aベストアンサー

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

Q[excel][マクロ]フォルダ内のマクロ有効のブックを通常のブックにするコード

以前フォルダ内の通常のブック(xlsx)をマクロ有効のブック(xlsm)にするマクロを組んだのですがそれを応用して今度は逆の作業をすることになり以前教えて頂いたマクロを有効にするコードを参考に以下を作りましたが動作しませんでした

やりたい作業は
フォルダ内のマクロ化されているブックを開く
通常のブックとして保存
閉じる
次のファイルを開いて同様の動作をフォルダ内のすべてのブックに適用
です

実行したところ
Set wb = Workbooks.Open(Fn)
のところが黄色く表示されてにエラーが出てしまいました、改善点を教えてください


Sub 非マクロ化テスト2()
Dim Fs, Fl, Fn, wb
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files
For Each Fl In Fs
Fn = ThisWorkbook.Path & "\" & Fl.Name
If Right(Fn, 5) = ".xlsm" Then
Set wb = Workbooks.Open(Fn)
Fn = Left(Fn, Len(Fn) - 5) & ".xlsx"
Application.DisplayAlerts = False
wb.SaveAs FileName:=Fn, FileFormat:=xlOpenXMLWorkbook
wb.Close
Application.DisplayAlerts = True
End If
Next
End Sub

以前フォルダ内の通常のブック(xlsx)をマクロ有効のブック(xlsm)にするマクロを組んだのですがそれを応用して今度は逆の作業をすることになり以前教えて頂いたマクロを有効にするコードを参考に以下を作りましたが動作しませんでした

やりたい作業は
フォルダ内のマクロ化されているブックを開く
通常のブックとして保存
閉じる
次のファイルを開いて同様の動作をフォルダ内のすべてのブックに適用
です

実行したところ
Set wb = Workbooks.Open(Fn)
のところが黄色く表示されてにエラーが出てしまい...続きを読む

Aベストアンサー

こんにちは。

私も、マクロ化のブックは作りましたが、逆は考えたことがありません。
(マクロ化は、VBEの中身を検索し、1行でも存在すれば、.xlsm にするということです。)

もしかしたら、
>CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files

Set wb = Workbooks.Open(Fn)
おそらくエラーの原因は、属性の問題あたりが原因かもしれません。それを、Normal ファイルであるか、調べる必要があるかと思います。

ちなみに、私も独自路線でかんがえてみました。
私は、以下のようにあらがじめ該当するブック名を取得し、配列変数の中に入れておくようにします。Dir は、途中で操作されるのを嫌います。

私のこだわりは、2点
変換後の同名ファイルの存在。
枝番付にします。
後は、パスワードの有無 (たぶん、バージョンによって反応の違いが出るかもしれません。こちらは、Excel 2013 です。)

'//

Sub DeMacroFileName()
 Dim myPath As String
 Dim myArray()
 Dim fName As String
 Dim i As Long
 Dim fn As Variant, nFn As String
 Dim cnt As Long
 Dim wb As Workbook
 ReDim myArray(1999)
 myPath = ThisWorkbook.Path & "\"
 On Error GoTo ErrHandler
 fName = Dir(myPath & "*.xlsm", vbNormal)
 Do While fName <> ""
  If (GetAttr(myPath & fName) And vbNormal) = vbNormal Then
   If fName <> ThisWorkbook.Name Then
    myArray(i) = fName
    i = i + 1
   End If
   DoEvents
   If i > 2000 Then Exit Do '2000ファイル以上は不可能
  End If
  fName = Dir
 Loop
 ReDim Preserve myArray(i - 1)
 
 Application.EnableEvents = False '開いた時にマクロが邪魔になる
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 For i = 0 To UBound(myArray)
  fn = myArray(i)
  Set wb = Workbooks.Open(Filename:=myPath & fn, Password:="")
  If Not wb Is Nothing Then
   nFn = RenamingF(fn, myPath)
   wb.SaveAs nFn, xlOpenXMLWorkbook
   wb.Close False
   DoEvents
   cnt = cnt + 1
  End If
  Set wb = Nothing
nextFn:
 Next i
 Application.DisplayAlerts = True
 Application.EnableEvents = True
 Application.ScreenUpdating = True
 MsgBox cnt & "/" & UBound(myArray) + 1 & "が成功しました。", vbInformation
 Exit Sub
ErrHandler:
 MsgBox "ファイル名 : " & fn & vbCrLf & _
 Err.Number & ": " & Err.Description
 
 Debug.Print fn '失敗した時に記録を取る
 If Err.Number = 92 Then  '滅多に発生しません。
  MsgBox "中途で終了します。", vbExclamation
  Exit Sub
 Else
  Resume Next
 End If
End Sub
Private Function RenamingF(ByVal fName As String, mPath As String)
'同名ファイルの枝番付け
Dim SaveName As String
Dim j As Long
If Right(mPath, 1) <> "\" Then mPath = mPath & "\"
SaveName = mPath & Mid(fName, 1, InStrRev(fName, ".") - 1)
 Do While Dir(SaveName & ".xlsx") <> ""
  If InStrRev(SaveName, "_") > 0 Then
   SaveName = Mid$(SaveName, 1, InStrRev(SaveName, "_") - 1)
  End If
   j = j + 1
   SaveName = SaveName & "_" & CStr(j)
  Loop
RenamingF = SaveName
End Function

こんにちは。

私も、マクロ化のブックは作りましたが、逆は考えたことがありません。
(マクロ化は、VBEの中身を検索し、1行でも存在すれば、.xlsm にするということです。)

もしかしたら、
>CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files

Set wb = Workbooks.Open(Fn)
おそらくエラーの原因は、属性の問題あたりが原因かもしれません。それを、Normal ファイルであるか、調べる必要があるかと思います。

ちなみに、私も独自路線でかんがえてみました。
私は、以下のように...続きを読む

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

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

Aベストアンサー

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

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

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

Qvbで[ctrl]+[tab]を認識させるにはどうしたらよいでしょうか?

はじめまして、どうしてもうまくいきません。教えてくださいませ。

[ctrl]+[tab]キー入力を認識させるにはどうしたら良いでしょうか?

現在、VBでMDIフォームを使用してプログラムを作っております。
[ctrl]+[tab]キー入力を行なうと、子フォーム間でフォームの移動が起こってしまいます。CommandButton押下時にのみ、フォームの移動を行なうようにしたいので、
[ctrl]+[tab]キー入力を制御して実現させようとしているのですが、うまくいきません。

MSDNライブラリには、KeyUpとKeyDownのイベントで
Tabキーの操作は発生しないと書いてありました。。。
何か方法がありましたらお教えいただけると助かります。
どうぞよろしくお願いします。

Aベストアンサー

SetWindowsHookExでキーボードフックかけなきゃだめでしょうね。
ローカルフックでOKなのかグローバルフックが必要かはわかりませんが。


人気Q&Aランキング

おすすめ情報