hatenaさん 迅速な返信感謝いたします。 ご提示いただいた入力で無事に解決しました。 助かりました。ありがとうございました!
[Q10_記号]![記号]>10<100というような書き方はできません。
[Q10_記号]![記号]>10<100
6ケタの記号に数量(1、10、100の位)、ケタ数を21桁に合わせるためにスペースを入れ、 最後21ケタ目にアルファベットの”L”と繋げる設定
というのが下記のようなことなら、
記号:ABCDEF 数量:123 の場合、下記のようにしたい。 ABCDE123 L ということなら、
ABCDEF
123
ABCDE123 L
QRコード: Format(記号 & 数量,"!" & String(20,"@")) & "L"
ちがうのなら、上記のようにデータ例と出力例を提示してください。
うまくいきました!初歩的な間違いでお恥ずかしい限りです。ありがとうございます。
新規登録フォーム の「データ入力用」プロパティを「はい」に設定するか、 下記のように引数に acFormAdd を指定しておいた方がいいでしょう。
Docmd.Openform "新規登録フォーム", , , , acFormAdd Forms!新規登録フォーム!ID.DefaultValue = Me!ID
新規登録フォームのテーブルにIDが既に存在しているかどうかのチェックも必要かと思います。
できました!ありがとうございます!
「現在郵便を送るための住所欄」があるフォームのレコードソースは何でしょうか。
テーブル名 郵送履歴 フィールド名 郵送履歴ID、発送日、企業CD というような感じでしょうか。
「普段は登録している企業を選択したら情報を引っ張ってくる」とは具体的にどのように実現してますか。 (コンボボックス、オートルックアップクエリ、VBA・・・)
フォームは単票フォームですか。
出荷日 > 顧客名 でグループ化してグループヘッダーに、出荷日と顧客名を配置。(出荷日 > 顧客名 の順は逆でも可)
詳細セクションに、品名、売上数量、売上単価、[売上数量]*[売上単価] を配置。
グループフッターにテキストボックスを配置してコントロールソースを下記に設定。
=Sum(IIf([消費税率]=0.1,[売上数量][売上単価],0)) 0.1 + Sum(IIf([消費税率]=0.08,[売上数量][売上単価],0)) 0.08
これで消費税合計が計算できます。
簡単なのはDLookup関数かな
=DLookup("フィールドA","テーブルA","ID=" & DMax("ID","テーブルA"))
コード全体がないとなんとも言い難いですが 標準モジュールで「Meキーワードの使用方法が不正です」(hatena chipsさん)
フォーム名指定をしたいのなら「Forms(formName)」ですかね Forms object (Access)
ありがとうございます。「DefaultValue」についても勉強になりました
ありがとうございます。 やっと理解できてきた気がします。 詳しく教えてくださり、本当に感謝の気持ちでいっぱいです。
新規フォームを作成する
「新規登録用のフォームを開く」ですかね?
たとえば、自分自身ならMeで参照できますね。自分自身でない場合はForms!フォーム名で参照できます。
Me
Forms!フォーム名
Docmd.Openform "新規登録フォーム" Forms!新規登録フォーム!ID = Me!ID
ただし、この場合データが即座に登録されます。新規登録するつもりはなかったが間違ってボタンをクリックしてしまったなんて場合が面倒ですね。規定値プロパティを使うと実際の登録を後回しにして値を設定できます
Docmd.Openform "新規登録フォーム" Forms!新規登録フォーム!ID.DefaultValue = Me!ID
あぁ、すみません。そもそも「コードそのまま」がフィルターとして不適切ですね。フィルターとして設定する文字列はSQL(のWHERE句)に従った記述にしないといけません
日付>=DateSerial(Year(Date()), Month(Date()), 1) AND 日付<DateSerial(Year(DateAdd("m", 1, Date())), Month(DateAdd("m", 1, Date())), 1)
VBAはSQLとして処理できる文字列を発行し、それをデータベースに処理させるという2段階の処理をしています。VBAとして発行したものをそのままフィルターに設置したいとなった場合は、たとえば
MsgBox Forms!F鑑賞.Filter
として表示される文字列を設定することになります。具体例を挙げると
月>=#2020/11/01# AND 月<#2020/12/01#
のようになり、これをそのままフィルターに記述すれば動きます
VBAコード上で文字列を表すための「"」はVBAのための記述なのでフィルター用の文字列に含めてはいけません
この時「#~#」は、「直接記述した文字が日付ですよ」ということを表しています。VBAの出力からは人が見れば日付に見えるだけの文字でしかないので、SQLとして処理するために日付として扱ってほしい部分として「#」で囲っているわけです
これを直接SQLとして関数に置き換える場合「#」まで含めて書き直すこととなります。今回は、DateSerial(Year(Date()), Month(Date()), 1)自身が日付のデータとなるので、単純に「#」が不要になります
DateSerial(Year(Date()), Month(Date()), 1)
式を修正しました。下記の式なのですが、やはり絞り込みができません。。 ※読み込み時にフィルターを適用プロパティを「はい」にしている状態
"月>=#" & DateSerial(Year(Date()), Month(Date()), 1) & "# AND 月<#" & DateSerial(Year(DateAdd("m", 1, Date())), Month(DateAdd("m", 1, Date())), 1) & "#"
今コピペして気づいたのですが、式が変わってしまっていますね・・・スミマセン。 最初の式でやり直してみます。
ありがとうございます。 Date()も試していたのですが、(記載すればよかったです、2度手間になりスミマセン) それで行うと、絞り込みが行われませんでした。
"月 Between #" & DateSerial(Year(Date()), Month(Date()), 1) & "# AND #" & DateSerial(Year(Date()), Month(Date()) + 1, -1) & "#"
Date()と記述してください
Date()
コードでかっこを使用する
VBAコード上では括弧を省略してもいいし、VBEが自動で省略してくれる(Date()と記述してもDateになる)のですが、クエリやフォーム上ではこのルールが使えないのできちんと括弧付きで記述する必要があります
Date
ありがとうございます。 フォームを開いたときに自動で適用したかったのですが、フィルター適用プロパティが「いいえ」になっていたので変更しました。 しかし、新たに問題が起きました。 パラメータの確認ポップアップが出て「Date」と表示されます。
Forms!F鑑賞.FilterOn = Trueに該当する設定はされていますか? FilterOn プロパティ フィルターを適用して、Access データベースのレコードを選択して表示する - フィルターを保存する
Forms!F鑑賞.FilterOn = True
何も設定されていなければ(デフォルトの設定だと) [ホーム]>[並べ替えとフィルター]>[フィルターの実行] または、 フォームのステータスバー>[フィルター処理なし/フィルター適用] をクリックして手動でフィルターを適用することになります
フォームを開いたときに自動で適用するなら読み込み時にフィルターを適用プロパティを「はい」にします
有難うございます。フィールド名は出荷日、顧客名、品名、売上数量、売上単価、消費税率です。レイアウトはまず、顧客名と出荷日の下に品名A、B、Cとそれぞれの売上数量と単価を表示、そして売上高は[売上数量]*[売上単価]。消費税は8%適用の売上高と10%適用の売上高の合計に税率を乗じて計算。ここまでは、デザインビューでできるのですが、8%と10%税金の合計が出来ないのです。
レコードのレコードソースのフィールド名とデータ例を提示して、どのようなレイアウトでレポートに表示したいかも提示してください。 商品A と 商品B の2種類しかないというわけではないですよね。 消費税が8%と10%を区別するフィールドがあるはずですよね。
それらを含めてもう少し詳細に説明してください。
実現できました。ありがとうございます。 当方では勘違いして SELECT TOP 3 DISTINCT Table1.Fld1, Table1.Fld2 などとしておりました。
下記のように DISTINCT TOP の順で記述できます。
SELECT DISTINCT TOP 3 Table1.Fld1, Table1.Fld2 FROM Table1 ORDER BY Table1.Fld1;
hatenaさん、ありがとうございました! とってもよくわかりました! コントロールソースに記述したら希望通りになりました。ありがとうございます。
フォームにて、社員と数値というテキストボックスがあります。 社員はコンボボックスです。
数値というテキストボックスは連結フォームですか。 テキストボックスに表示するだけではなく連結したフィールドに値を入力したいということでしょうか。
社員の更新後イベントプロパティに、=IIf([社員]="A",[数値]=1)としたら間違いですか?
はい、間違いです。 IIfの第3引数に [数値]=1 と設定しても[数値]に値が代入されるわけではありません。 引数に設定できるのは式でありステートメントは設定できません。
表示だけでいいなら、数値テキストボックスのコントロールソースに =IIf([社員]="A",1) と設定します。 数値フィールドに入力したいのなら、イベントプロシージャにコードを記述するかマクロを設定する必要があります。
=IIf([社員]="A",1)
Private Sub 社員_AfterUpdate() If Me.社員 = "A" Then Me.数値 = 1 End If End Sub
「データベースツール」>「データベース構造の解析」でレポートとして出力できます。
それをExcelに変換もできるのでそちらで解析したり、見やすく体裁を整えたりもできます。
有料のツールとしては下記のようなものがあります。 私自身は使ったことはないので、現バージョンでは使えるかどうかは分かりません。
Access2016 仕様書 作成 ツール【A HotDocument】(Access2016対応 仕様書)
Access2010/2007仕様書作成ツール『T'sDoc 6』の詳細情報 : Vector ソフトを探す!
単純に改行を入れて入力すればいいかと思いますが、それではだめなんでしょうか。
Ctrl+Enterで改行を入力できます。
あるいは、テキストボックスの「Enterキー入力時動作」プロパティを「フィールドに行を追加」にすればEnterキーだけで改行されます。
(部署名を登録する際、改行したいところで★などを入れて、表示する際場合分けするとかでしょうか…?)
もし、この方法をとるなら、テキストボックスのコントロールソースを下記のように設定すればいいでしょう。
=Replace([部署名],"★",chr(13) & Chr(10))
chr(13) & Chr(10) は改行です。
できました!ありがとうございます。助かりました!
リッチテキスト形式を使うとテキストボックス内の文字に装飾を加えることができます テキストボックスを背面に設置し、空白スペースで埋め尽くして、その文字の背景色としてカラーコードを指定すればイメージしたものができるかもしれません
背面に設置するテキストボックスの設定
コントロールソース|='<div><font style="BACKGROUND-COLOR:#' & Hex([カラーコード]) & '"> </font></div>' 文字書式 |リッチ テキスト形式 背景スタイル |透明 境界線スタイル |透明
表示したいラベルのサイズに合わせてフォントサイズや空白スペースの数を調整してみてください
クエリCの抽出条件 [Forms]|[フォームAの名前]![TXT_Aの名前] If条件 IsNull(Me.テキストボックスの名前) フォームを開く DoCmd.OpenForm(“フォームB”) どうですか?
レポートを3つ作り、フィールドの区分によってそれぞれのレポートを抽出したいです。 抽出条件は区分かつ商品番号で1つのレポートを出力したいです。
区分によってレポートのデザインやレイアウトが大幅に異なるというのですか。
レポートのレコードソースのフィールド構成を提示してもらえますか。クエリなら、SQLビューで表示されるSQL文をコピーして貼り付けてください。 また、レコードソースに含まれるテーブルの主キーフィールドも提示してください。
そうです! その通りになります。 説明不足で申し訳ありません。
最初の質問に戻りますが、私が考えたのはラジオボタンで区分を選択し、テキストボックスなどで商品番号を入力、そして出力ボタンを押すと印刷プレビューが表示されるという形にしたいです。 これは知識不足の私が考えたものなので他にこっちのほうが良いという案がありましたら是非教えて頂きたいです。
なるほど、勉強になります。
ご回答ありがとうございます。 IDの値を取得したかったので、非表示では意味がありません。
ご回答いただいく直前に、自己解決しました。(報告遅れてすいません。)
「備忘録」 元データの名前をクエリ0とします。
クエリ1として、フィールド商品IDをグループ化、フィールド見積日を最大値とし、 ついでに、グループ化できないIDも、最大値としておく。
クエリ2として、クエリ0とクエリ1の商品IDと見積日をつなげ、 クエリ0のIDとクエリ1の商品IDと見積日を取得する。 これでクエリ1で取得した商品IDと(最新)見積日を持つ、クエリ0のIDが正確に取得できました。
IDフィールドを非表示でどうですか?
レポートが複数あり、区分によって異なるレポートで印刷したいということですか。
区分がお菓子のときは、レポートA 区分がお酒のときは、レポートB とか。
その辺をもし少し具体的に説明してください。
テーブルAには商品番号というフィールドはなくテーブルAとお菓子を登録しているマスタのクエリを作りそれをレポートのレコードソースとしています。 そしてレポートに商品番号のテキストボックスを配置しております。 商品番号だけを指定してレポートを表示させても区分によって出力するレポートが違うので絞り込めないのです・・・ 分かりにくい設定で大変申し訳ないです。
商品番号かつ区分がお菓子のときのレポート 商品番号かつ区分がお酒のときのレポート・・・という風に条件付きでレポートを印刷したいのでお力を貸して頂けると嬉しいです。
なるほど、そういうことですね。。わからずお恥ずかしい限りです。 優しく教えていただき、ありがとうございました!
それなら読み取り側のシステム次第でしょう たいていのデータベースソフトならSQLでクエリを発行すればいいでしょうし、ACCESSならDLookup関数でもいいでしょう。データベース的な能力がないのならCSVでマスタをデータ化しておいてテキスト検索的な手法になるかもしれません 名刺の発行側で考えることではないですね
また、氏名という項目は同姓同名問題が発生するので画面の表示上日本語でも、システム内部ではかならずユニークな識別子をもってやり取りするものです 本当にQRコードに日本語データが必要なのかよく考えてみてください
hatena様 ご回答ありがとうございます。 説明不足で申し訳ございません。 >わさわざQRコードにする意味はなんですか。
弊社では名刺を名札がわりに首からぶら下げています。 ある作業をする際に名刺に記載されているQRコードを読み取って 作業を行います。(コンビニなどでされていますよね) 読み取った名前は作業記録に表示されます。
これで理解いただけましたでしょうか?
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Markdown Tables generator
hatenaさん
迅速な返信感謝いたします。
ご提示いただいた入力で無事に解決しました。
助かりました。ありがとうございました!
[Q10_記号]![記号]>10<100
というような書き方はできません。というのが下記のようなことなら、
記号:
ABCDEF
数量:
123
の場合、下記のようにしたい。
ABCDE123 L
ということなら、
QRコード: Format(記号 & 数量,"!" & String(20,"@")) & "L"
ちがうのなら、上記のようにデータ例と出力例を提示してください。
うまくいきました!初歩的な間違いでお恥ずかしい限りです。ありがとうございます。
新規登録フォーム の「データ入力用」プロパティを「はい」に設定するか、
下記のように引数に acFormAdd を指定しておいた方がいいでしょう。
新規登録フォームのテーブルにIDが既に存在しているかどうかのチェックも必要かと思います。
できました!ありがとうございます!
「現在郵便を送るための住所欄」があるフォームのレコードソースは何でしょうか。
テーブル名 郵送履歴
フィールド名 郵送履歴ID、発送日、企業CD
というような感じでしょうか。
「普段は登録している企業を選択したら情報を引っ張ってくる」とは具体的にどのように実現してますか。
(コンボボックス、オートルックアップクエリ、VBA・・・)
フォームは単票フォームですか。
出荷日 > 顧客名 でグループ化してグループヘッダーに、出荷日と顧客名を配置。(出荷日 > 顧客名 の順は逆でも可)
詳細セクションに、品名、売上数量、売上単価、[売上数量]*[売上単価] を配置。
グループフッターにテキストボックスを配置してコントロールソースを下記に設定。
=Sum(IIf([消費税率]=0.1,[売上数量][売上単価],0)) 0.1 + Sum(IIf([消費税率]=0.08,[売上数量][売上単価],0)) 0.08
これで消費税合計が計算できます。
簡単なのはDLookup関数かな
コード全体がないとなんとも言い難いですが
標準モジュールで「Meキーワードの使用方法が不正です」(hatena chipsさん)
フォーム名指定をしたいのなら「Forms(formName)」ですかね
Forms object (Access)
ありがとうございます。「DefaultValue」についても勉強になりました
ありがとうございます。
やっと理解できてきた気がします。
詳しく教えてくださり、本当に感謝の気持ちでいっぱいです。
「新規登録用のフォームを開く」ですかね?
たとえば、自分自身なら
Me
で参照できますね。自分自身でない場合はForms!フォーム名
で参照できます。ただし、この場合データが即座に登録されます。新規登録するつもりはなかったが間違ってボタンをクリックしてしまったなんて場合が面倒ですね。規定値プロパティを使うと実際の登録を後回しにして値を設定できます
あぁ、すみません。そもそも「コードそのまま」がフィルターとして不適切ですね。フィルターとして設定する文字列はSQL(のWHERE句)に従った記述にしないといけません
VBAはSQLとして処理できる文字列を発行し、それをデータベースに処理させるという2段階の処理をしています。VBAとして発行したものをそのままフィルターに設置したいとなった場合は、たとえば
として表示される文字列を設定することになります。具体例を挙げると
のようになり、これをそのままフィルターに記述すれば動きます
VBAコード上で文字列を表すための「"」はVBAのための記述なのでフィルター用の文字列に含めてはいけません
この時「#~#」は、「直接記述した文字が日付ですよ」ということを表しています。VBAの出力からは人が見れば日付に見えるだけの文字でしかないので、SQLとして処理するために日付として扱ってほしい部分として「#」で囲っているわけです
これを直接SQLとして関数に置き換える場合「#」まで含めて書き直すこととなります。今回は、
DateSerial(Year(Date()), Month(Date()), 1)
自身が日付のデータとなるので、単純に「#」が不要になります式を修正しました。下記の式なのですが、やはり絞り込みができません。。
※読み込み時にフィルターを適用プロパティを「はい」にしている状態
今コピペして気づいたのですが、式が変わってしまっていますね・・・スミマセン。
最初の式でやり直してみます。
ありがとうございます。
Date()も試していたのですが、(記載すればよかったです、2度手間になりスミマセン)
それで行うと、絞り込みが行われませんでした。
Date()
と記述してくださいコードでかっこを使用する
VBAコード上では括弧を省略してもいいし、VBEが自動で省略してくれる(
Date()
と記述してもDate
になる)のですが、クエリやフォーム上ではこのルールが使えないのできちんと括弧付きで記述する必要がありますありがとうございます。
フォームを開いたときに自動で適用したかったのですが、フィルター適用プロパティが「いいえ」になっていたので変更しました。
しかし、新たに問題が起きました。
パラメータの確認ポップアップが出て「Date」と表示されます。
Forms!F鑑賞.FilterOn = True
に該当する設定はされていますか?FilterOn プロパティ
フィルターを適用して、Access データベースのレコードを選択して表示する - フィルターを保存する
何も設定されていなければ(デフォルトの設定だと)
[ホーム]>[並べ替えとフィルター]>[フィルターの実行]
または、
フォームのステータスバー>[フィルター処理なし/フィルター適用]
をクリックして手動でフィルターを適用することになります
フォームを開いたときに自動で適用するなら読み込み時にフィルターを適用プロパティを「はい」にします
有難うございます。フィールド名は出荷日、顧客名、品名、売上数量、売上単価、消費税率です。レイアウトはまず、顧客名と出荷日の下に品名A、B、Cとそれぞれの売上数量と単価を表示、そして売上高は[売上数量]*[売上単価]。消費税は8%適用の売上高と10%適用の売上高の合計に税率を乗じて計算。ここまでは、デザインビューでできるのですが、8%と10%税金の合計が出来ないのです。
レコードのレコードソースのフィールド名とデータ例を提示して、どのようなレイアウトでレポートに表示したいかも提示してください。
商品A と 商品B の2種類しかないというわけではないですよね。
消費税が8%と10%を区別するフィールドがあるはずですよね。
それらを含めてもう少し詳細に説明してください。
実現できました。ありがとうございます。
当方では勘違いして SELECT TOP 3 DISTINCT Table1.Fld1, Table1.Fld2 などとしておりました。
下記のように DISTINCT TOP の順で記述できます。
hatenaさん、ありがとうございました!
とってもよくわかりました!
コントロールソースに記述したら希望通りになりました。ありがとうございます。
数値というテキストボックスは連結フォームですか。
テキストボックスに表示するだけではなく連結したフィールドに値を入力したいということでしょうか。
はい、間違いです。
IIfの第3引数に [数値]=1 と設定しても[数値]に値が代入されるわけではありません。
引数に設定できるのは式でありステートメントは設定できません。
表示だけでいいなら、数値テキストボックスのコントロールソースに
=IIf([社員]="A",1)
と設定します。
数値フィールドに入力したいのなら、イベントプロシージャにコードを記述するかマクロを設定する必要があります。
「データベースツール」>「データベース構造の解析」でレポートとして出力できます。
それをExcelに変換もできるのでそちらで解析したり、見やすく体裁を整えたりもできます。
有料のツールとしては下記のようなものがあります。
私自身は使ったことはないので、現バージョンでは使えるかどうかは分かりません。
Access2016 仕様書 作成 ツール【A HotDocument】(Access2016対応 仕様書)
Access2010/2007仕様書作成ツール『T'sDoc 6』の詳細情報 : Vector ソフトを探す!
単純に改行を入れて入力すればいいかと思いますが、それではだめなんでしょうか。
Ctrl+Enterで改行を入力できます。
あるいは、テキストボックスの「Enterキー入力時動作」プロパティを「フィールドに行を追加」にすればEnterキーだけで改行されます。
もし、この方法をとるなら、テキストボックスのコントロールソースを下記のように設定すればいいでしょう。
chr(13) & Chr(10) は改行です。
できました!ありがとうございます。助かりました!
リッチテキスト形式を使うとテキストボックス内の文字に装飾を加えることができます
テキストボックスを背面に設置し、空白スペースで埋め尽くして、その文字の背景色としてカラーコードを指定すればイメージしたものができるかもしれません
背面に設置するテキストボックスの設定
表示したいラベルのサイズに合わせてフォントサイズや空白スペースの数を調整してみてください
クエリCの抽出条件
[Forms]|[フォームAの名前]![TXT_Aの名前]
If条件
IsNull(Me.テキストボックスの名前)
フォームを開く
DoCmd.OpenForm(“フォームB”)
どうですか?
区分によってレポートのデザインやレイアウトが大幅に異なるというのですか。
レポートのレコードソースのフィールド構成を提示してもらえますか。クエリなら、SQLビューで表示されるSQL文をコピーして貼り付けてください。
また、レコードソースに含まれるテーブルの主キーフィールドも提示してください。
そうです!
その通りになります。
説明不足で申し訳ありません。
レポートを3つ作り、フィールドの区分によってそれぞれのレポートを抽出したいです。
抽出条件は区分かつ商品番号で1つのレポートを出力したいです。
最初の質問に戻りますが、私が考えたのはラジオボタンで区分を選択し、テキストボックスなどで商品番号を入力、そして出力ボタンを押すと印刷プレビューが表示されるという形にしたいです。
これは知識不足の私が考えたものなので他にこっちのほうが良いという案がありましたら是非教えて頂きたいです。
なるほど、勉強になります。
ご回答ありがとうございます。
IDの値を取得したかったので、非表示では意味がありません。
ご回答いただいく直前に、自己解決しました。(報告遅れてすいません。)
「備忘録」
元データの名前をクエリ0とします。
クエリ1として、フィールド商品IDをグループ化、フィールド見積日を最大値とし、
ついでに、グループ化できないIDも、最大値としておく。
クエリ2として、クエリ0とクエリ1の商品IDと見積日をつなげ、
クエリ0のIDとクエリ1の商品IDと見積日を取得する。
これでクエリ1で取得した商品IDと(最新)見積日を持つ、クエリ0のIDが正確に取得できました。
IDフィールドを非表示でどうですか?
レポートが複数あり、区分によって異なるレポートで印刷したいということですか。
区分がお菓子のときは、レポートA
区分がお酒のときは、レポートB
とか。
その辺をもし少し具体的に説明してください。
テーブルAには商品番号というフィールドはなくテーブルAとお菓子を登録しているマスタのクエリを作りそれをレポートのレコードソースとしています。
そしてレポートに商品番号のテキストボックスを配置しております。
商品番号だけを指定してレポートを表示させても区分によって出力するレポートが違うので絞り込めないのです・・・
分かりにくい設定で大変申し訳ないです。
商品番号かつ区分がお菓子のときのレポート
商品番号かつ区分がお酒のときのレポート・・・という風に条件付きでレポートを印刷したいのでお力を貸して頂けると嬉しいです。
なるほど、そういうことですね。。わからずお恥ずかしい限りです。
優しく教えていただき、ありがとうございました!
それなら読み取り側のシステム次第でしょう
たいていのデータベースソフトならSQLでクエリを発行すればいいでしょうし、ACCESSならDLookup関数でもいいでしょう。データベース的な能力がないのならCSVでマスタをデータ化しておいてテキスト検索的な手法になるかもしれません
名刺の発行側で考えることではないですね
また、氏名という項目は同姓同名問題が発生するので画面の表示上日本語でも、システム内部ではかならずユニークな識別子をもってやり取りするものです
本当にQRコードに日本語データが必要なのかよく考えてみてください
hatena様
ご回答ありがとうございます。
説明不足で申し訳ございません。
>わさわざQRコードにする意味はなんですか。
弊社では名刺を名札がわりに首からぶら下げています。
ある作業をする際に名刺に記載されているQRコードを読み取って
作業を行います。(コンビニなどでされていますよね)
読み取った名前は作業記録に表示されます。
これで理解いただけましたでしょうか?