🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

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

Access

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

Q&A

解決済

1回答

994閲覧

項目名を英字→日本語表記にする

asuka.Mir

総合スコア15

VBA

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

Access

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

0グッド

1クリップ

投稿2021/03/26 09:55

編集2021/03/29 05:30

AccessVBAの質問です。

以下のような英字を…
①Red,apple,A
②Blue,Aqua,B
以下のように置換したいです。
①赤
②青

コントロールソース(色分類というテキストボックス)
にて、replace関数などを用いて置換しようとしているのですが、複数条件のやり方が分かりません。

それとも英字と日本語のテーブルを作成して置換するようなロジックを作った方が簡単でしょうか。

どちらかのやり方で構わないのでご協力お願いします。

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

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

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

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

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

xail2222

2021/03/26 20:07

変換ルールがよくわからないのですが、 Red→赤、apple→赤、A→赤 Blue→青、Aqua→青、B→青 ということですか? また、変換元の文字列は「This is a red pen」と言った文章ですか? それとも「red」、「A」というように単語ですか?
asuka.Mir

2021/03/28 09:24

ご連絡ありがとうございます。 変換ルールは単語です。 Red→赤、apple→赤、A→赤 Blue→青、Aqua→青、B→青 というご認識の通りでございます。
xail2222

2021/03/28 10:12

すみません、追加で質問です。 データベースの属性をVBAにて一括で更新、もしくは別フィールドに色を登録するのが目的ですか? それとも、何か別の入力(画面からの入力?)を置換するのでしょうか? とりあえず、今私が思うやり方としては二通りで 「英字と日本語のテーブルを作成」して、Update文で更新するだけの方法と Dictionaryに英字と日本語の対応をセットして、それで変換する方法です。
asuka.Mir

2021/03/29 00:20

ご連絡ありがとうございます。 SELECTされたものをレポートの特定のフォームに表示する際に色として登録するのが目的です。
hatena19

2021/03/29 03:04

「レポートの特定のフォーム」というのが意味不明です。レポートにはフォームはありません。 「レポートの特定のテキストボックス」という意味なら意味が通じます。 もしそうなら、レポート出力するときに、「Red,apple,A」という値を「赤」と変換してテキストボックスに表示したいということでしょうか。
asuka.Mir

2021/03/29 04:08

「Red,apple,A」という値を「赤」と変換してテキストボックスに表示したいということでしょうか。 →すみません、その通りでございます
hatena19

2021/03/29 05:36 編集

回答に追記しました。 あと、 質問は編集できますので、上記の内容を質問に追記してください。
guest

回答1

0

ベストアンサー

Access - accessの別テーブルの情報を利用して、文字列の一部を置換又は削除する|teratail
とよく似た内容ですので参考になると思います。
更新クエリで一気に変換する方法です。

上記をみて分からないなら、現状のテーブル名、フィールド名を提示してください。


上記の回答は質問と合致してないかも。
テーブルの値を変換するのではなく、レポートに出力するときに「Red,apple,A」という値を「赤」と変換して表示したいということかな。
だとしたら、下記のようなテーブルがあったとして、

テーブル名「色置換」

英字
Red,apple,A
Blue,Aqua,B

レポートのテキストボックスのコントロールソースを下記のように設定すればいいでしょう。

=DLookup("色","色置換","英字='" & [置換したいフィールド名] & "'")

投稿2021/03/28 12:01

編集2021/03/29 04:01
hatena19

総合スコア34073

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

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

asuka.Mir

2021/03/29 00:13

ご連絡ありがとうございます。 以下の通りです。 テーブル名「色置換」 フィールド名(英字と色の2つ) 「英字」カラム Red、apple、A、 Blue、Aqua、B 「色」カラム Red、apple、A → 赤 Blue、Aqua、B →青 となっております。
hatena19

2021/03/29 03:57

置換するデータの入っているテーブル名と、フィールド名、データ例も提示してください。
asuka.Mir

2021/03/29 04:13

テーブル名「英字テーブル」 フィールド名(英字とIDの2つ) 「英字」カラム ()はIDカラムの値です Red(IDは1)、apple(2)、A(3)、 Blue(4)、Aqua(5)、B(6)
asuka.Mir

2021/03/30 09:15

ありがとうございます。 =DLookup("色","色置換","英字='" & [置換したいフィールド名] & "'") こちらで無事達成できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問