• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessで消費税計算)

Accessで消費税計算

このQ&Aのポイント
  • AccessでA列の金額を税抜価格に変換する方法を教えてください
  • エクセルの数式を使って税抜価格に変換する方法を教えてもらいましたが、Accessではどのようにすればいいのでしょうか?
  • 増税が迫っているため、実践的な消費税計算の例が欲しいです。アクセス2007を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

>そのまま、A列の金額が税抜にかわるような技はあるのでしょうか? 変更クエリを作成して実行ですね。 列の名称(デフォルトはField1)を使ってレコードの更新欄に Int([Field1]/1.05) として、保存後に実行すれば税抜きの金額になります。 参考URL http://www.geocities.jp/haku1569/pasocom/microsoft/access/qeri/0024.html ※尚、更新クエリで変更後に元に戻すことはできません。 あらかじめテーブルまたはデータベースごとコピーしておいて復旧出来るようにすることをお勧めします。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No2です。回答では「A列」と書いているのに 式では「A」になっていました。投稿後には 訂正できないので、もう一度投稿しておきます。 中身は同じですが、何となくもやっとしているので、 ご容赦を。 ひょっとして、フィールドには「円」という文字がついているのでしょうか。 それならば、対象となるテーブルで選択クエリを作り、それを更新クエリに変更し、 「A列」の「レコードの更新」というフィールドに、 CStr(Int(CLng(Left([A列],Len([A列])-1))/1.05)) & "円" を貼り付け保存し、実行してください。 上記は、「A列」の文字列から「円」を取り除き、   Left([A列],Len([A列])-1)) 取り除いた文字列をCLng関数で数値型に変更して、   CLng(Left([A列],Len([A列])-1)) それを1.05で割り、   CLng(Left([A列],Len([A列])-1))/1.05 Int関数で整数に変換することで小数を切捨て、   Int(CLng(Left([A列],Len([A列])-1))/1.05) それをCStr関数で文字列に変更して、   CStr(Int(CLng(Left([A列],Len([A列])-1))/1.05)) 「円」をくっつけるという式です。   CStr(Int(CLng(Left([A列],Len([A列])-1))/1.05)) & "円" 最初にLeft関数やLen関数はしらべてみてください。これら 以外の上記の関数はAccessのヘルプのVisual Basic 言語リファレンス の項にあります。 「A列」に「円」という文字がついていなくて、「A列」が数値型や 通貨型ならば、「A列」の「レコードの更新」というフィールドに Int([A列]/1.05) を貼り付けます。 更新クエリの作成例 http://access-2013.blogspot.jp/2013/12/access2013.html

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

ひょっとして、フィールドには「円」という文字がついているのでしょうか。 それならば、対象となるテーブルで選択クエリを作り、それを更新クエリに変更し、 「A列」の「レコードの更新」というフィールドに、 CStr(Int(CLng(Left([A],Len([A])-1))/1.05)) & "円" を貼り付け保存し、実行してください。 上記は、「A列」の文字列から「円」を取り除き、   Left([A],Len([A])-1)) 取り除いた文字列をCLng関数で数値型に変更して、   CLng(Left([A],Len([A])-1)) それを1.05で割り、   CLng(Left([A],Len([A])-1))/1.05 Int関数で整数に変換することで小数を切捨て、   Int(CLng(Left([A],Len([A])-1))/1.05) それをCStr関数で文字列に変更して、   CStr(Int(CLng(Left([A],Len([A])-1))/1.05)) 「円」をくっつけるという式です。   CStr(Int(CLng(Left([A],Len([A])-1))/1.05)) & "円" 最初にLeft関数やLen関数はしらべてみてください。これら 以外の上記の関数はAccessのヘルプのVisual Basic 言語リファレンス の項にあります。 「A列」に「円」という文字がついていなくて、「A列」が数値型や 通貨型ならば、「A列」の「レコードの更新」というフィールドに Int([A列]/1.05) を貼り付けます。 更新クエリの作成例 http://access-2013.blogspot.jp/2013/12/access2013.html

legs
質問者

お礼

早速のお応えありがとうございます。 円は実はありません。数字のみです。 アクセスって、エクセルよりも敷居がたかいのですね….. なにもわかりませんが、ちょっと挑戦してみます。

関連するQ&A