A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
どうしても、逐一、全レコードを再計算するのであれば・・・。
UPDATE 得意先マスター SET 売上件数 = DBCount("*","売上伝票","[得意先マスター_ID]=" & [ID]);
これを<更新クエリ>にすればいいです。
DCount関数を利用する場合よりも3倍速で実行します。
Public Function DBCount(ByVal strField As String, _
ByVal strTable As String, _
Optional ByVal strWhere As String = "") As Variant
On Error GoTo Err_DBCount
Dim N
Dim strQuerySQL As String
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
strQuerySQL = "SELECT COUNT(" & strField & ") FROM " & strTable
If Len(strWhere) > 0 Then
strQuerySQL = strQuerySQL & " WHERE " & strWhere
End If
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
N = Nz(.Fields(0), 0)
End If
End With
Exit_DBCount:
On Error Resume Next
rst.Close
Set rst = Nothing
DBCount = N
Exit Function
Err_DBCount:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBCount)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBCount
End Function
No.3
- 回答日時:
服飾デザイナーですので妥当な回答か否かは定かじゃありませんが・・・。
私なら
1、そもそも、[得意先マスター]に列[売上件数]は設けない。
2、仮に設けるならば、[売上伝票入力フォーム]を閉じる時に更新する。
<得意先マスター>
ID___氏名__________売上件数
1____鈴木 一郎_____________0
2____中村 主水_____________0
<売上伝票>
ID___伝票番号_______日付____________得意先マスター_ID__集計
1____2007110001___2007/11/01________________________1__False
2____2007110002___2007/11/02________________________2__False
3____2007110003___2007/11/03________________________1__False
4____2007110004___2007/11/04________________________1__False
<フォーム[売上伝票]>
Private Sub Form_Close()
Dim intCount As Integer
Dim strSQL As String
Dim rst As ADODB.Recordset
strSQL = "SELECT 得意先マスター_ID, 集計 FROM 売上伝票 WHERE NOT 集計"
Set rst = New ADODB.Recordset
With rst
.Open strSQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockOptimistic
If Not .BOF Then
.MoveFirst
Do Until .EOF
intCount = DBCount("x", "xxxx", "xxxxx" & .Fields(0))
CnnExecute "UPDATE [得意先マスター] SET 売上件数=" & ・・・・
.Fields(1) = True
.Update
.MoveNext
Loop
End If
End With
End Sub
今、テストしてみましたが、これ位のコードを書けば事足りるようです。
<得意先マスター>
ID___氏名__________売上件数
1____鈴木 一郎_____________3
2____中村 主水_____________1
<売上伝票>
ID___伝票番号_______日付____________得意先マスター_ID__集計
1____2007110001___2007/11/01________________________1__True
2____2007110002___2007/11/02________________________2__True
3____2007110003___2007/11/03________________________1__True
4____2007110004___2007/11/04________________________1__True
No.2
- 回答日時:
>集計したクエリを元に更新クエリを実行すると、更新できません。
バージョンにもよりますが、「集計したクエリ」から「更新クエリ」ではなく、「テーブル作成クエリ」を実行してはいかがでしょうか?
その場合も、「選択(集計)クエリ」から「テーブル作成クエリ」に変更後、いったんデザインクエリを閉じ、データーベースウィンドウのクエリをダブルクリックしてみては・・・
いかがでしょうか?
No.1
- 回答日時:
DCount関数で件数をカウントすればいいのでは?
得意先コードが数値型(長整数)の場合
DCount("*","売上データテーブル","[得意先コード]=" & [得意先コード])
得意先コードがテキスト型の場合
DCount("*","売上データテーブル","[得意先コード]='" & [得意先コード] & "'")
http://www.accessclub.jp/supbeg/057.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FROM の中で CASE を使えるでし...
-
ACCESSのクエリで集計で、先頭...
-
VBA 得意先ごと且つ日付ごとに...
-
項目ごとに最大値の行を表示したい
-
「警告 : NULL 値は集計または...
-
Accessフォームにクロス集計ク...
-
レポートウィザードの集計のオ...
-
複数列フィールド値のクロス集計
-
accessでセルの個数を集計する...
-
Accessで別テーブルの個数をユ...
-
Accessの更新クエリについて質...
-
accessクロス集計で前月21日~...
-
access 存在しない項目を”0件”...
-
クロス集計の結果を元に戻す方法
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
INSERT INTO ステートメントに...
-
Oracle 2つのDate型の値の差を...
-
Accessでテーブル名やクエリ名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのクエリで集計で、先頭...
-
FROM の中で CASE を使えるでし...
-
複数列フィールド値のクロス集計
-
AccessからExcelへエクスポート...
-
Accessフォームにクロス集計ク...
-
クロス集計の結果を元に戻す方法
-
access 存在しない項目を”0件”...
-
桐の集計(集計行設定のこと)...
-
accessクロス集計で前月21日~...
-
アクセスクエリ 締め日毎で絞...
-
MS-Accessのクロス集計クエリと...
-
ファイルメーカーでピボットテ...
-
Accessで年齢から年代ごとの集計
-
ファイルメーカーからエクセル...
-
項目ごとに最大値の行を表示したい
-
VBA 得意先ごと且つ日付ごとに...
-
アクセス レポートのテキスト...
-
Access 抽出データ件数のカウン...
-
クロス集計での order by句の使...
-
ACCESS レポートでページごとに...
おすすめ情報