![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
いつもお世話になっています。
名簿を作成しているのですが、結婚して姓が変わった場合、
上書きせずに新しい姓を別のテキストボックスに入力します。
これをレポートとして出力する際、新しい姓が入力された場合は、
過去の指名のテキストボックスに二重線を引きたいのですが
うまくいきません。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If 新姓 <> "" Then
Me.取り消し線1.Visible = True
Me.取り消し線2.Visible = True
Else
Me.取り消し線1.Visible = False
Me.取り消し線2.Visible = False
End If
End Sub
お力添えをお願いいたします。
No.6ベストアンサー
- 回答日時:
もし、旧姓の名を新姓の名にも使用するのであれば、
レポートのレコードソースを、
SELECT 名簿.ID, [名簿]![姓] & [名簿]![名] AS 旧姓, IIf(IsNull([名簿]![新姓]),"",[名簿]![新姓] & [名簿]![名]) AS 新姓
FROM 名簿;
のようにするか、あるいはNo4のように、新姓の姓と名を使って、
SELECT 名簿.ID, [名簿]![姓] & [名簿]![名] AS 旧姓, [名簿]![新姓] & [名簿]![新名] AS 新姓
FROM 名簿;
のようにするかのどちらかだろうと、思いますが。
それと、質問のコードの中の、
If 新姓 <> "" Then
の旧姓はレポートのフィールド名になります。
以上、レコードソースが原因ならば、ということで。
No.7
- 回答日時:
No6の
>の旧姓はレポートのフィールド名になります。
は
の新姓はレポートのフィールド名になります。
です。失礼しました。
この回答への補足
何度も丁寧に回答していただき本当にありがとうございます。
新姓が入ったときのみ旧姓に線を表示するという部分だけ
新規のDBで作成したところ、問題なく出来ました。
それを現在作成中のDBに置き換えると、すべて表示になってしまいます。
ご指摘いただいた名前の部分も、間違っていません。
しかし構文以外のどこかでおかしいので出来ないということははっきりしました。
これを今からひとつづつ検証していきます。
いいご報告ができるよう頑張ります。
No.5
- 回答日時:
No4です。
>AS 名前
は
AS 旧姓
です。
No4のたとえばとして、
SELECT 名簿.ID, [名簿]![姓] & [名簿]![名] AS 旧姓, [名簿]![新姓] & [名簿]![名] AS 新姓
FROM 名簿;
のように、旧姓の名を新姓の名にくっつけて
いたりしていませんか。
No.4
- 回答日時:
テーブルの構造を
ID 姓 名 新姓 新名
として、レポートのレコードソースを、
SELECT 名簿.ID, [名簿]![姓] & [名簿]![名] AS 名前, [名簿]![新姓] & [名簿]![新名] AS 新姓
FROM 名簿;
としても、二重線が特定のところにひかれます。
レコードソースの旧姓の姓と名、新姓の姓と名
を取り違えていたり、入れ替わっていたり
していませんか。
No.3
- 回答日時:
> If 新姓 <> "" Then
新姓に何か入力されていれば
という意味でしょうから
If Not IsNull(新姓) Then
でしょうね。
なお、「新姓」がテキストボックスなら
他のコントロールと同様に
Me.新姓
と記述する方が良いでしょう。
この回答への補足
早々に回答いただきありがとうございます。
〉新姓に何か入力されていれば
という意味でしょうから
まさにその通りです。
自分で作成した式では()を入れていなかったので
Me.新姓としてさっそく作り直してみました。
しかし、やはりすべてのデータに二重線が表示されたままになります。
テーブルでは、姓と名のフィールドに分けてあります。データは、フォームで入力します。
それをクエリで&でつなぎ「旧姓」、同様に「新姓」とし、レポートで参照しています。
そのあたりに問題があるのでしょうか。
アドバイスよろしくお願いいたします。
お世話になっております。
レポートのレコードソースにクエリで結合したフィールドを参照していたのですが
これをテーブルのフィールドにしたところ問題なく動作しました。
レポートでは、このテーブルのフィールドは不要なのですが、隠しておくなど工夫したいと思います。
VBAの構文の知識が怪しいため、自己流の数式はIf Not IsNull(新姓) Thenに改めます。
また機会がありましたらよろしくお願いいたします。
No.2
- 回答日時:
No1の方の回答に加えることは
ほとんどないのですが、
レポートのレコードソースが、
名前 新姓
のようにあれば、問題なく表示されると思いますが。
>上書きせずに新しい姓を別のテキストボックスに入力します。
新姓はレポートのレコードソースにどのように
設定されていますか?
この回答への補足
早々に回答いただきありがとうございます。
テーブルでは、姓、名とフィールドを分けています。それをクエリで&でつなぎ「旧姓」としています。
「新姓」も同じで、姓、名とフィールドを分け(名は変わらないかもしれませんが、念のため作成しています)ています。
それをフォームで入力編集するようにし、それをレポートで参照しています。
二重線は、書面として残す際にのみ必要なので、「新姓」が入力されているデータのみ、
レポート上で二重線が表示されるように設定したいと考えています。
説明が足りず失礼いたしました。
アドバイスよろしくお願いいたします。
お世話になっております。
レポートのレコードソースにクエリで結合したフィールドを参照していたのですが
これをテーブルのフィールドにしたところ問題なく動作しました。
レポートでは、このテーブルのフィールドは不要なのですが、隠しておくなど
工夫したいと思います。
このたびはお世話になりありがとうございました。
また機会がありましたらよろしくお願いいたします。
No.1
- 回答日時:
問題ないと思うのですが、ひょっとして直線コントロールの名前が違っていたりしませんか?
なお、別のテキストボックス→テーブルの別のフィールドという意味と判断しています。
http://www.accessclub.jp/urawaza/32.html
>新姓 <> ""
がエクセル風と感じましたが、動作する様ですね。
どううまくいかないのか、どんなエラーが出るのか開示していただけると、先輩諸賢の回答が得られると思います。
この回答への補足
早々に回答いただきありがとうございます。
エラーは、すべてのデータに二重線が引かれたままになることです。
>新姓 <> ""
がエクセル風と感じましたが、動作する様ですね。
If Not IsNull 新姓 Then
If 新姓 <> Null Then
のようにもしてみたのですが、結果は同じでした。
二重線を引くのはレポートで書面として出力する際にだけ必要なので
旧姓、新姓はフォームで入力しています。
またいいお知恵がありましたらよろしくお願いいたします。
お世話になっております。
何とか先輩諸賢方のお知恵をいただいて解決することができました。
問題は構文ではなく、参照する先をクエリで結合したフィールドにしていたことが
原因でした。
このたびはお世話になりました。
また機会がありましたらどうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「氏」の使い方
-
姓名の表記法について
-
男性がある女の人に下の名前何...
-
自分の会社の社員にMr.をつ...
-
名前とはなぜ前がつくのか?
-
外国人のイニシャル
-
蘇我氏ってなんですか? 蘇我さ...
-
Accessで重複データを入力でき...
-
ご祝儀袋に札に苗字だけは非常識?
-
外国人の名前に使われる”・”や”...
-
Accessのフィールド結合について
-
竹取物語の翁の名前の読み方
-
パスポートの名前と航空券の名...
-
VBAのSQL文内での"(ダブルコー...
-
友達が新居(マンション)をかま...
-
将棋棋士の伊藤匠 伊藤果 伊藤...
-
名字のせいでよく在日韓国人と...
-
姓・名か名・姓か
-
姓(名字)を変える方法
-
名前の呼び方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「氏」の使い方
-
男性がある女の人に下の名前何...
-
姓名の表記法について
-
自分の会社の社員にMr.をつ...
-
名字のせいでよく在日韓国人と...
-
名前とはなぜ前がつくのか?
-
Excelの並べ替えで濁点・半濁点...
-
外国人の名前に使われる”・”や”...
-
ご祝儀袋に札に苗字だけは非常識?
-
Accessのフィールド結合について
-
Accessで重複データを入力でき...
-
【女性へ質問】女性の友だち同...
-
外国では結婚したら姓が変わり...
-
Accessのレポートに取り消し線...
-
近所に同じ姓の人がいるかたへ
-
竹取物語の翁の名前の読み方
-
「菅家(かんけ)」さんという...
-
外国人のイニシャル
-
中国の姓名
-
日本史・連と品部の違い
おすすめ情報