しん
2024/10/30 (水) 10:59:50
f87c1@9fff4
更新を実行したいクエリのSQL文は、下記の通りです。
SELECT ID,
仕入コード,
仕入先,
油種コード,
単価_ランク,
単価_ランク_コード,
直近3ヶ月,
仕入,
Left(Format([直近3ヶ月],"yyyymmdd"),6) AS 日付コード,
[仕入コード] & "-" & [油種コード] & "-" & [単価_ランク_コード]& "-" &[日付コード] AS 更新合成キー,
FROM MT_検索テーブル;
仕入のフィールドの型は、
単精度浮動小数点型です。
昨日からのアドヴァイスをいただき、検証しました。
実際に利用している単価更新キーは
00-0000-00-202410
このような文字列です。
SQL文に記載のある
Left(Format([直近3ヶ月],"yyyymmdd"),6)
この値をつけると更新できませんが、この値をつけなければ更新できます。
00-0000-00 ⇒更新できます。
sk様のコードでも確認して、更新件数は合致します。
Excel上のマクロは下記の通りです。
.Range(.Cells(2, "J"), .Cells(maxR, "J")) = Format(ActiveCell.Value, "yyyymm")
疑問なのですが、
Left(Format([直近3ヶ月],"yyyymmdd"),6)
.Range(.Cells(2, "J"), .Cells(maxR, "J")) = Format(ActiveCell.Value, "yyyymm")
このコードを実行すると、202410になりますが、ExcelとACCESSでは、異なる値と判断されるのでしょうか?
通報 ...
Access側のテーブル[MT_検索テーブル]のフィールド[直近3ヶ月]のデータ型は日付/時刻型なのでしょうか。
Excel 側のワークシート[転送用シート]において、K 列の各セルは J 列を含む他の列のセルを参照する数式セルなのでしょうか。
また、[仕入コード]、[油種コード]および[単価_ランク_コード]に相当する列は、Excel 側のワークシート[転送用シート]に存在していないのでしょうか。