回答編集履歴
2
コメントの内容にあわせてコードを修正
test
CHANGED
@@ -1,30 +1,42 @@
|
|
1
|
+
コメントより
|
2
|
+
|
1
|
-
>
|
3
|
+
> レコードソースは支援日誌。
|
4
|
+
|
5
|
+
>
|
6
|
+
|
7
|
+
> フィールドは、
|
8
|
+
|
9
|
+
>
|
10
|
+
|
11
|
+
> ID,利用日付、利用者名、開始時間、終了時間、今日の作業、今日の作業(補足)、今日の体調、今日の特記、記入者、タイムスタンプ、押印
|
2
12
|
|
3
13
|
|
4
14
|
|
5
|
-
|
15
|
+
> 同じ名前の利用者名レコードを集め、降順で利用日付で並べ替えし、直近5件分だけを表示したい。
|
6
|
-
|
7
|
-
だとしたら、下記のような感じで可能です。
|
8
16
|
|
9
17
|
|
10
18
|
|
11
|
-
|
19
|
+
詳細セクションにコマンドボタンが配置してあり、そのボタンをクリックすると、クリックしたレコードと同じ利用者名で抽出して直近5件を表示する。コマンドボタン名は、cmd直近5件 とします。
|
20
|
+
|
21
|
+
|
12
22
|
|
13
23
|
|
14
24
|
|
15
25
|
```vba
|
16
26
|
|
27
|
+
Private Sub cmd直近5件_Click()
|
28
|
+
|
17
29
|
Dim stFilter As String
|
18
30
|
|
19
31
|
Dim stSort As String
|
20
32
|
|
21
|
-
stSort = "
|
33
|
+
stSort = "利用日付 DESC"
|
22
34
|
|
23
|
-
stFilter = "
|
35
|
+
stFilter = "利用者名='" & Me.利用者名 & "'"
|
24
36
|
|
25
37
|
|
26
38
|
|
27
|
-
Me.Filter = "ID In (SELECT TOP 5 ID FROM
|
39
|
+
Me.Filter = "ID In (SELECT TOP 5 ID FROM 支援日誌 WHERE " & _
|
28
40
|
|
29
41
|
stFilter & " ORDER BY " & stSort & ")"
|
30
42
|
|
@@ -34,8 +46,30 @@
|
|
34
46
|
|
35
47
|
Me.OrderByOn = True
|
36
48
|
|
49
|
+
End Sub
|
50
|
+
|
37
51
|
```
|
38
52
|
|
39
53
|
|
40
54
|
|
41
55
|
FilterプロパティにはSQLのWHERE句に相当する条件式を設定できます。ということはサブクエリも使用可能です。サブクエリで、TOP 5 を使って先頭5件を抽出して、その結果をIn演算子で比較して抽出します。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
補足
|
60
|
+
|
61
|
+
---
|
62
|
+
|
63
|
+
Excelは表計算ソフト、Accessはリレーショナルデータベース(略してRDB)ソフト、まったく別のものです。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
RDBではSQLが必須です。Accessは初心者向けにSQLが分からなくてもクエリでビジュアルな操作でデータ操作ができます。しかし、クエリの中身はSQLです。SQLビューで確認できます。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
最初のうちはクエリでのデータ操作を学習しましょう。クエリを作成したら、SQLビューにしてどのようなSQLになっているか確認しましょう。そのうちなんとなく雰囲気が分かるようになってきますので、それからSQLの学習を始めるといいでしょう。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
クエリだけではできることに限界がありますので、使いこなすうちにSQLは必要になってきます。
|
1
説明の修正
test
CHANGED
@@ -38,4 +38,4 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
FilterプロパティにはSQLのWHERE句に相当する条件式を設定できます。ということはサブクエリも使用可能です。サブクエリで、TOP 5 を使って先頭5件を抽出して、そのIn演算子で
|
41
|
+
FilterプロパティにはSQLのWHERE句に相当する条件式を設定できます。ということはサブクエリも使用可能です。サブクエリで、TOP 5 を使って先頭5件を抽出して、その結果をIn演算子で比較して抽出します。
|