「覚え間違い」を教えてください!

Accessで社員名簿を作成中です。

営業所テーブル
営業所ID 営業所名
101 札幌
102 青森
103 仙台

社員名簿
社員ID 社員名
1 やまだたろう
2  たなかいちろう

営業所名と社員IDをフォーム上で組み合わせて管理ナンバーを新しく作らなければならないのですが、
テキストボックスに

[営業所名]&[社員ID]

と式を入れたところ
札幌、やまだたろうの組み合わせで
「札幌1」と表示されず、
「1011」と表示されます。
営業所名はテーブルからコンボボックスで選んだ値、社員IDはフォームの別なテキストボックに入力した値です、。コンボボックスには「札幌」と表示されているのですが、式を入れたテキストボックスには反映されません。原因と対策をご教示いただければ幸いです。よろしくお願いいたします。

A 回答 (1件)

Accessの式で文字列を連結する場合、式内の要素が数値型であると自動的に計算されてしまいます。

そのため、「営業所名」がテキスト型であっても、「社員ID」が数値型だと、計算結果として数値の連結が行われてしまいます。

対策としては、以下のいずれかの方法を試してみてください。

「社員ID」フィールドのデータ型をテキスト型に変更する。
テキスト型のフィールドに対して式を適用すると、文字列の連結が正しく行われます。

式内で「社員ID」を文字列型に変換する。
式内で「社員ID」をCStr関数などを使って明示的に文字列に変換することで、文字列の連結が正しく行われます。
例: [営業所名] & CStr([社員ID])

どちらの方法でも、式内の要素が文字列型として認識されるようにすることで、正しい結果が表示されるはずです。
    • good
    • 2
この回答へのお礼

ありがとう

ありがとうございます。なんとか設定できました。

お礼日時:2023/07/19 16:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報