お世話になります。アクセス初心者です。
QNo.3023548 「アクセス 同じフィールド(テキスト型)のレコードを連結させたい」
の方と同じ質問内容で申し訳ありません。
私のレベルでは、うまく理解することが出来ませんでした。
あらためまして
マイクロソフト アクセス 2000を使用しております。
【テーブル1】
ID 商品コード 金額 色
1______100__________\10______赤
2______100__________\10______青
3______200__________\10______黄
4______200__________\10______緑
5______200__________\10______黒
【クエリ1】
ID 商品コード 金額 色 累計金額 色の累計
1______100__________\10______赤__________\10____________赤
2______100__________\10______青__________\20____________赤-青
3______200__________\10______黄__________\10____________黄
4______200__________\10______緑__________\20____________黄-緑
5______200__________\10______黒__________\30____________黄-緑-黒
累計金額は式ビルダで
累計金額: (Select SUM(金額) From テーブル1 As 累計 Where テーブル1.ID >= 累計.ID And テーブル1.商品コード = 累計.商品コード)
なんとか作る事が出来ました。
色の累計を、この式を使って試みましたが
うまくいきません。
できれば、式ビルダ形式で回答を頂くとありがたいです。
よろしくお願い致します。
No.1
- 回答日時:
まず、私が作成したクエリの結果を見て下さい。
ID 商品コード 色の累積
1 100 赤
2 100 赤-青
3 200 黄
4 200 黄-緑
5 200 黄-緑-黒
このクエリのデザインは次のようです。
なお、テーブル名は、らしく Goods にしています。
フィールド: ID 商品コード 色の累積: DBSELECT("SE・・・・
テーブル: _Goods Goods
並び替え: 昇順
表示: レ レ レ
抽出条件:
または:
色の累積:以降の式は、少し、長いので次に示します。
色の累積: DBSelect("SELECT 色 FROM GOODS Where ID <=" & ID & " And [商品コード]=" & 商品コード,"-")
なお、質問文のIDの比較では、色の累積は希望のような結果にはなりませんので修正しています。
さて、クエリは[SQLヴュー]でも確認することが出来ます。
SELECT
ID,
商品コード,
DBSelect("SELECT 色 FROM GOODS Where ID <=" & ID & " And [商品コード]=" & 商品コード,"-") AS 色の累積
FROM Goods
ORDER BY ID;
もちろん、式ビルだでは、[関数]-[データベース名]-[標準モジュール名]-[DBSelect] と選択しています。
DBSelect(SQL文, 区切り文字):
DBSelect関数は、指定のSQL文で抽出したデータを指定の区切り文字で連結して戻す関数です。
<続く>
No.2ベストアンサー
- 回答日時:
さて、[関数]-[データベース名]-[標準モジュール名]-[DBSelect] と選択しようとしてもありません。
なぜなら、DBSelect 関数は、標準モジュールで作成する必要があるからです。
標準モジュール名=[データベース関数]
関数名=DBSelect
Public Function DBSelect(ByVal strQuerySQL As String, _
Optional ByVal strSeparator As String = ";") As String
On Error GoTo Err_DBSelect
Dim I As Integer
Dim J As Integer
Dim R As Integer
Dim C As Integer
Dim M As Integer
Dim N As Integer
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim Datas As String
Set rst = New ADODB.Recordset
' =================
' Begin With: rst
' -----------------
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
M = .RecordCount - 1
N = .Fields.Count - 1
.MoveFirst
For R = 0 To M
For C = 0 To N
Datas = Datas & .Fields(C) & strSeparator
Next C
.MoveNext
Next R
End If
End With
' ---------------
' End With: rst
' ===============
Exit_DBSelect:
DBSelect = Left(Datas, Len(Datas) + (Len(Datas) > 0))
Exit Function
Err_DBSelect:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSelect)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBSelect
End Function
まあ、中級入り口の関数です。
Husky2007さん
ありがとうございます。m(__)m
初心者の私に迅速かつ丁寧なアドバイスをいただき
感謝しております。
標準モジュールの作成は
初めて行う作業でしたので、かなり苦戦しましたが
おかげ様で形になりました。
色々試して、偶然うまくいった標準モジュールなので自信が持てない為
これから基礎を勉強していきたいと思います。
本当に助かりました
これで前に進めます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(保険) 投資目的の保険商品について。受取時にかかる税金について保険会社に質問しました。 商品を端的に説明する 3 2023/08/08 20:33
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Windows 7 エクセルで重複データから抽出したい 2 2022/05/18 23:31
- 簿記検定・漢字検定・秘書検定 有形固定資産の期中売却の取引について 1 2023/03/02 12:31
- 日用品・生活雑貨 こういう時計、どこで売っていますか? 3 2022/05/14 16:43
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) グループの最後の行に書式、計算式なども同じ行を追加するマクロを教えてもらえませんか。 7 2022/05/18 10:13
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- 簿記検定・漢字検定・秘書検定 簿記問題について 2 2023/05/24 07:07
- その他(ネットショッピング・通販・ECサイト) Utme!について質問です。Tシャツを購入したく、後払い選択をしたのですが何度やってもエラーが出てし 1 2022/09/04 12:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
商品コード番号を入力すると商...
-
Inner join と Left joinの明...
-
重複するキーから一番古い年月...
-
[Oracle] UPDATE分の副問い合わ...
-
2つのテーブルから条件に一致...
-
片方だけ抽出する方法(SQL)
-
Access SQLを使ったソートがずれる
-
ACCESS 一つのフィールドに複...
-
複数テーブルの不一致クエリに...
-
日付の最大値を検索条件にする方法
-
Accessにインポートしたら並び...
-
エクセル
-
ACCESS2007 フォーム 「バリア...
-
INSERTにおいてロック処理は必要か
-
データの二重表示の原因
-
ACCESS 一番最新の日付の金額...
-
accessのロック
-
SELECT時の行ロックの必要性に...
-
accessテーブル作成クエリを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
行方向のデータを横に並べる
-
下記のsqlで取得されるレコード...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
[Oracle] UPDATE分の副問い合わ...
-
片方だけ抽出する方法(SQL)
-
自分自身への矢印
-
連番のMin, Maxを取得したい
-
Accessユニオンクエリーで2つ...
-
日付の最大値を検索条件にする方法
-
Inner join と Left joinの明...
おすすめ情報