Access VBAにてテキストファイルのデータを取り込むときに通貨の+-を逆転させて取り込みたい。
Accessにてテキストファイルの通貨データ【-○○円】を取り込むときに、+○○円として取り込むにはどのような処理が必要でしょうか?
#####現在の取り込みコード
現在の取り込みコードがこちらです。
'レコード削除の確認メッセージを表示しない DoCmd.SetWarnings False 'テーブルのデータを全削除する Dim SQL As String SQL = "DELETE * FROM T01_返金合計" DoCmd.RunSQL SQL SQL = "DELETE * FROM T02_返金内訳" DoCmd.RunSQL SQL 'テキストファイルを取り込む DoCmd.TransferText acImportDelim, "IN 返金合計", "T01_返金合計" _ , "C:\Users\Documents\01-1 取引管理\01 返金合計.txt" DoCmd.TransferText acImportDelim, "IN 返金合計", "T02_返金内訳" _ , "C:\Users\Documents\01-1 取引管理\01 返金合計.txt" '返金テーブルを開く Set db = CurrentDb() Set rs = CurrentDb.OpenRecordset("T01_返金合計", dbOpenTable) ReDim vArray(rs.RecordCount - 1, 2) i = 0 '最後のレコードまで繰り返す Do Until rs.EOF '社員番号が条件を満たしかつ返金がある場合 If (rs(0) >= 2200 And rs(0) <= 2473) And rs(1) < 0 Then rs.Edit '取引IDの初期値として『99999』を出力する rs(2) = "99999" 'クレジット返金額の初期値として『0』を出力する rs(3) = 0 '変更をアップデートする rs.Update Else 'レコードを削除する rs.Delete End If '次のレコードに移動する rs.MoveNext Loop Set rs = CurrentDb.OpenRecordset("T02_返金内訳", dbOpenTable) ReDim vArray(rs.RecordCount - 1, 2) i = 0 '最後のレコードまで繰り返す Do Until rs.EOF '社員番号が条件を満たしかつ返金がある場合 If (rs(0) >= 2200 And rs(0) <= 2473) And rs(1) < 0 Then rs.Edit '取引IDの初期値として『99999』を出力する rs(2) = "99999" 'クレジット返金額の初期値として『0』を出力する rs(3) = 0 '変更をアップデートする rs.Update Else 'レコードを削除する rs.Delete End If '次のレコードに移動する rs.MoveNext Loop
#####取り込みコード実行後のテーブル
現在の取り込みコードを実施後のテーブルがこちらです。
社員番号 | 現金返金額 | 取引ID | クレジット返金額 |
---|---|---|---|
2200 | -500,000 | 99999 | 0 |
2220 | -100,000 | 99999 | 0 |
現金返金額が0円か-のため、後の処理内容を考慮し、-○○円のフィールドの場合、同額の+○○円として取り込みを実施したいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/04 18:14