質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

1028閲覧

Access VBA .txt取り込み時に通貨の+-を逆転する方法

Yoshikun_0945

総合スコア224

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2019/03/04 12:37

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,000999990
2220-100,000999990

現金返金額が0円か-のため、後の処理内容を考慮し、-○○円のフィールドの場合、同額の+○○円として取り込みを実施したいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こういうことです?

VBA

1'絶対値 2rs(1) = Abs(rs(1)) 3'符号反転 4rs(1) = rs(1) * -1

投稿2019/03/04 15:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yoshikun_0945

2019/03/04 18:14

回答いただきましてありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問