回答編集履歴

3

追記

2019/04/08 08:31

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -12,7 +12,9 @@
12
12
 
13
13
  ```SQL
14
14
 
15
- UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日) SET A.勤務 = B.勤務, A.出勤 = '11:00', A.退勤 = B.退勤
15
+ UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日)
16
+
17
+ SET A.勤務 = B.勤務, A.出勤 = '11:00', A.退勤 = B.退勤
16
18
 
17
19
  ```
18
20
 
@@ -20,6 +22,22 @@
20
22
 
21
23
  ```SQL
22
24
 
23
- UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日) SET A.勤務 = B.勤務, A.出勤 = B.出勤, A.退勤 = B.退勤, A.lastupdate=Now()
25
+ UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日)
26
+
27
+ SET A.勤務 = B.勤務, A.出勤 = B.出勤, A.退勤 = B.退勤, A.lastupdate=Now()
24
28
 
25
29
  ```
30
+
31
+ 追記2
32
+
33
+ --
34
+
35
+ 暗黙変換のせいかもしれませんので、以下を試してみてください
36
+
37
+ ```SQL
38
+
39
+ UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日)
40
+
41
+ SET A.勤務 = B.勤務, A.出勤 = CStr(B.出勤), A.退勤 = CStr(B.退勤)
42
+
43
+ ```

2

追記

2019/04/08 08:31

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -6,14 +6,20 @@
6
6
 
7
7
 
8
8
 
9
- 直接値を指定した更新クエリーだと問題ないという事なので、日付/時刻型の書式に編集してみてください
9
+ 追記
10
10
 
11
- 以下例です。
11
+ --
12
12
 
13
13
  ```SQL
14
14
 
15
- SET A.出勤時刻=B.年月 & '/' & CStr(B.日) & ' ' & B.時刻
15
+ UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月 = B.年月日) SET A.勤務 = B.勤務, A.出勤 = '11:00', A.退勤 = B.退
16
16
 
17
17
  ```
18
18
 
19
- 尚、上記場合は編集対象項目がNUllの場合は除外する等の考慮は必要です。
19
+ これで問題ないという事な更新されているかどうかをlastupdateを更新するようにしてみると更新されているかどうかが分かると思います。
20
+
21
+ ```SQL
22
+
23
+ UPDATE A INNER JOIN B ON (A.社員No = B.社員No) AND (A.年月日 = B.年月日) SET A.勤務 = B.勤務, A.出勤 = B.出勤, A.退勤 = B.退勤, A.lastupdate=Now()
24
+
25
+ ```

1

追記

2019/04/08 08:21

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -3,3 +3,17 @@
3
3
  更新先が時刻型であるので、テキスト型でHHMMなど格納されているのであれば、HH:MMのように変換しないと駄目じゃないでしょうか。
4
4
 
5
5
  但し、ODBCドライバーが暗黙変換してくれればの話ですので、駄目な場合は型を合わせる必要があると思います。
6
+
7
+
8
+
9
+ 直接値を指定した更新クエリーだと問題ないという事なので、日付/時刻型の書式に編集してみてください
10
+
11
+ 以下例です。
12
+
13
+ ```SQL
14
+
15
+ SET A.出勤時刻=B.年月 & '/' & CStr(B.日付) & ' ' & B.出勤時刻
16
+
17
+ ```
18
+
19
+ 尚、上記の場合は、編集対象の項目がNUllの場合は除外する等の考慮は必要です。