下記のようなクエリーを[mde]で実行すると、Windows7+Access2003Runtimeでエラーとなります。
同じ[mde]をXp+Access2003Runtime, Win7+Access2003(Runtimeではありません)で実行するとエラーとなりません。
DAOの参照設定をやり直して作成し直した[mde]でも同じエラーが出ます。
[mde]を作成しているのは、 Window7pro(32ビット)+Access2003 です。
検索しても出てくるのは「参照設定のやり直し」ばかりで 行き詰まっています、よろしくお願いいたします。
エラーの出たクエリ(1)
UPD_SQL = "UPDATE " & JetTB_NAME
UPD_SQL = UPD_SQL & " SET "
UPD_SQL = UPD_SQL & " 作成先出荷日= RIGHT(FORMAT(作成先出荷日," & Chr(34) & "0000" & Chr(34) & "),4)" <---これがエラーになる
UPD_SQL = UPD_SQL & " ,作成先納品日= RIGHT(FORMAT(作成先納品日," & Chr(34) & "0000" & Chr(34) & "),4)"
On Error GoTo JET_ERR
CurrentDb.Execute (UPD_SQL)
On Error GoTo 0
エラーの出たクエリ(2)
INS_SQL = "INSERT INTO " & LnkTB_Name
INS_SQL = INS_SQL & " ("
INS_SQL = INS_SQL & " 受注伝票番号"
INS_SQL = INS_SQL & " ,受注行番号"
INS_SQL = INS_SQL & " ,作成先売上日"
INS_SQL = INS_SQL & " ,作成先出荷日"
INS_SQL = INS_SQL & " ,作成先納品日"
INS_SQL = INS_SQL & " ,作成先ケース数"
INS_SQL = INS_SQL & " ,作成先ボール数"
INS_SQL = INS_SQL & " ,作成先バラ数"
INS_SQL = INS_SQL & " ,作成先受注数"
INS_SQL = INS_SQL & " ,作成先単位重量"
INS_SQL = INS_SQL & " ,作成先総重量"
INS_SQL = INS_SQL & " ,作成先受注単価"
INS_SQL = INS_SQL & " ,作成先受注額"
INS_SQL = INS_SQL & " ,作成先原価単価"
INS_SQL = INS_SQL & " ,作成先原価額"
INS_SQL = INS_SQL & " ,作成先単価区分"
INS_SQL = INS_SQL & " ,作成先単位"
INS_SQL = INS_SQL & " ,受注数"
INS_SQL = INS_SQL & " ,受注残数"
INS_SQL = INS_SQL & " ,受注用変換売上区分"
INS_SQL = INS_SQL & " ,送り状GP"
INS_SQL = INS_SQL & " ,運送便"
INS_SQL = INS_SQL & " ,倉庫番号"
INS_SQL = INS_SQL & " )"
INS_SQL = INS_SQL & " SELECT"
INS_SQL = INS_SQL & " J.受注伝票番号"
INS_SQL = INS_SQL & " ,J.受注行番号"
INS_SQL = INS_SQL & " ,Date_From6To8(VAL(Nz(J.作成先売上日,0)))"
INS_SQL = INS_SQL & " ,Date_From6To8(VAL(Nz(J.作成先出荷日,0)))"
INS_SQL = INS_SQL & " ,Date_From6To8(VAL(Nz(J.作成先納品日,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先ケース数,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先ボール数,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先バラ数,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先受注数,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先単位重量,0)))"
INS_SQL = INS_SQL & " ,IIF(J.変換区分=8,0"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先総重量,0)))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先受注単価,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先受注額,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先原価単価,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先原価額,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先単価区分,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.作成先単位,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.受注数,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.受注残数,0))"
INS_SQL = INS_SQL & " ,VAL(Nz(J.変換区分,0))"
INS_SQL = INS_SQL & " ," & SEL_送り状GP & " AS 送り状GP"
INS_SQL = INS_SQL & " ,VAL(ItemValueGetSQL(NZ(J.運送便コンボ,0))) AS 運送便"
INS_SQL = INS_SQL & " ,RTRIM(ItemValueGetSQL(NZ(J.倉庫番号コンボ,'000'))) AS 倉庫番号" <---これがエラーになる
INS_SQL = INS_SQL & " FROM "
INS_SQL = INS_SQL & " " & JetTB_NAME & " J"
INS_SQL = INS_SQL & " WHERE "
INS_SQL = INS_SQL & " J.選択='●'"
On Error GoTo JET_ERR
CurrentDb.Execute (INS_SQL)
On Error GoTo 0
※itemValueGetSQLは functionで定義しています。
※RTRIMを itemValueGetSQL内で行うとエラーになりませんでした。