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

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

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

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

Q&A

解決済

1回答

590閲覧

accessのレポートについて(追加質問)

bee96

総合スコア8

Access

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

0グッド

0クリップ

投稿2020/11/23 06:44

accessのレポートについて
↑について、一度解決済みにしましたが再度問題が出てきましたので質問させていただきます。

hatena19様のおかげで思い通りのレポートができました。
しかし、レポートのレコードソースに辞令文マスタを追加すると重複したレコードができあがります。

どういうことかというと、辞令文マスタには印刷時にどの辞令を出力するか指定するため辞令文マスタに種別というフィールドを追加しました。
その種別には辞令の種類である「昇格・配属・異動」の3つを入力しています。

そしてそれぞれ文章が違うので辞令文フィールドのレコードも変わってきます。

この辞令文マスタとレポートのレコードソース(異動履歴)でクエリをつくると
社員番号   発令日      異動部署  辞令文マスタ  種別
123     2012年3月1日   営業3課          昇格
123     2012年3月1日   営業3課          配属
123     2012年3月1日   営業3課          異動
123     2018年3月1日   営業2課          昇格
123     2018年3月1日   営業2課          配属
123     2018年3月1日   営業2課          異動
123     2020年3月1日   営業1課          昇格
123     2020年3月1日   営業1課          配属
123     2020年3月1日   営業1課          異動

こうなってしまいます。
辞令文マスタを非表示にすると元に戻りますが、いったんそのクエリを閉じると辞令文マスタのフィールド自体なくなってしまいます。

そのためか、うまく発令日と異動部署を抽出してくれないです。
「2020年3月1日をもって営業2課から営業1課の勤務を命じます。」
上記のようになってほしいものが
「2020年3月1日をもって営業2課から営業2課の勤務を命じます。」
このようになります・・・。

これを改善することは可能でしょうか?

レポートの種類を指定してプレビューまで出すことはできたのであともう1歩です・・・
お力を貸して頂きたいです。

お手数ですが宜しくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

結合せずに追加すると辞令文マスターのレコード数分重複されます。

辞令文マスターの種別は主キーにして、
もとのレポートのレコードソースのテーブルに種別フィールドを追加して、種別で結合するようにすると重複なしに該当する辞令文が表示されるようになります。

投稿2020/11/23 08:04

hatena19

総合スコア33790

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

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

bee96

2020/11/24 00:24

回答ありがとうございます。 結合して、目当てのレコードのみになりました。 本当にありがとうございます。 しかし、結合するとレポートがType!となってしまいます(´;ω;`) レポートはhatena様に教えて頂いたとおりにしたのですが・・・
hatena19

2020/11/24 00:34 編集

テキストボックスの部分がそうなるということですか。 そのテキストボックスのコントロールソースの設定を提示してください。
bee96

2020/11/24 03:02

=Replace(Replace(Replace(Replace(Replace([辞令文],"【発令年月日】",Format([発令年月日],"yyyy\年m\月d\日")),"【前部署】",[前部署]),"【部署】",[部署]),"【氏名】",[氏名]),"【所属】",[所属]) 上記がテキストボックスのコントロールソースになります。
hatena19

2020/11/24 03:20

すべてのレコードがエラーになりますか。 それともエラーになるのは特定のレコードですか。 参照しているフィールド名に間違いはないですか。質問文では[発令日]になってますがその式では[発令年月日]になってますが。
bee96

2020/11/24 04:01

発令年月日で合っています。 全てのレコードでエラーになります・・・ 結合する前は思い通りの結果でなくともエラーにならず表示されていたのでフィールド名のエラーではなさそうです。
hatena19

2020/11/24 04:20

結合する前は表示されていたということは式は問題ないということになりますね。 結合したものをクエリで開いた場合、辞令文、発令年月日、前部署、部署、氏名、所属 はすべて正しく表示されてますか。
bee96

2020/11/24 05:11

解決しました! 原因は、種別と結合したものの異動・昇格・配属以外は空白となっていたので、その空白のレコードは抽出されず前部署などがレポートに反映されなかっただけでした・・・ レポートが完成しましたので改めてお礼申し上げます。 最後までお付き合い頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問