• ベストアンサー

アクセスで自動入力(?)できますか?

お世話になります。 アクセスにて次のような事をしたいと思っています。 メインフォームに電話番号を入力すると サブフォームの連絡先電話番号にも値が自動的に(?)入力される。 ただし、サブフォームの連絡先電話番号を訂正しても、 メインフォームの電話番号は変更されない。 ほとんど同じ番号なのですが、時々フリーダイヤル番号を入力する場合があります。 今まではコピーペーストしていたのですが、少しでも時間短縮できる方法があるなら。。。と思い質問させて頂きました。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

相関関係が、よく判らないので一概に大丈夫とは言いがたいのですが・・・ メインフォームの電話番号のコントロールをCtl電話番号 サブフォーム名をFrm連絡先 サブフォームの連絡先電話番号のコントロールをCtl連絡先 として、 メインフォームの電話番号のコントロールの更新後処理に Private Sub Ctl電話番号_AfterUpdate() Me!Frm連絡先.Form!Ctl連絡先 = Me!Ctl電話番号 End Sub で書き込みはしてくれるはずですが、サブフォームが帳票などになっている場合、上記のコードでは出来ないかも知れません^^;

chormuno
質問者

お礼

できました!! どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#140971
noname#140971
回答No.2

<顧客名簿> ID___電話番号 1_____0942461111 <顧客別詳細情報> ID____顧客名簿_ID__連絡先 1______1_______________0942461111 2______1_______________0942461112 このような関係である場合、サブフォームの新規入力だけに反映すれば事足りるでしょう。 ならば、 Private Sub 電話番号_AfterUpdate()   Me.顧客別詳細情報_サブフォーム.Controls("連絡先").DefaultValue = """" & Me.電話番号 & """" End Sub でいいのではと思います。 Private Sub 電話番号_AfterUpdate()   CnnExecute "UPDATE 顧客別詳細情報 SET 連絡先='" & Me.電話番号 & "'" End Sub 既に登録しているレコードも含めて変更するには、このように SQL文を発行するのが一番簡単です。 が、この必要がありますかね。

chormuno
質問者

お礼

素人から一口に「こうしたい!」と言っても いろいろな方法があるのですね。。 勉強になりました。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access 連結フィールド値を自動で表示

    Accessでフォーム上にサブフォーム(データシート)を作成すると、 新規レコード欄にも自動的に連結フィールドの値が表示されます。 このサブフォームをメインフォーム上に作らずに、 コマンドボタンクリック時にあるフィールドが一致する(上記で言う連結フィールド)データを表示したサブフォーム(データシート)を開くかたちにしたいのですが、そうすると当然ながら新規レコード欄には連結フィールドの値は表示されません。 これをメインフォーム上にサブフォームを作った時と同じように、新規レコード欄に連結フィールド値を表示させるにはどうしたら良いでしょうか? サブフォームを開く段階で新規レコードに結合フィールドの値を(VBAで)入力する事も考えましたが、そうするともしそこにデータを入れるつもりじゃなくても1つのレコードとしてデータが残ってしまいます。 メインフォーム上に作ったサブフォームなら、新規レコードに結合フィールドの値は表示されているものの、その他のフィールドにデータを入力しなければ1つのレコードとしてデータが残ることはありません。 こういう事が可能かどうかわかりませんが、ご存知でしたら教えてくださいませ。 よろしくお願いします!

  • サブフォームに同一の納品日を自動的に入力したい

    XP&ACCESS2003: メインフォーム/サブフォーム形式のフォームで、受注番号で連結しています。 メインフォームが受注、サブフォームが受注明細です。(1対多) メインフォームには「次のレコード」に進むボタンをつけ、クリックにより次のレコードが表示されます。(従って、サブフォームも次の受注の明細に移動します) 複数のレコードを持つサブフォームの納品日(受注明細の納品日フィールドに連結)の最初の一件に日付を入力し、メインフォームの「次のレコード」に進むボタンをクリックした時、1件前の受注明細の納品日を入力していない他の(2件目以降)のレコードにも同一の納品日を自動的に入力できる方法がわかりません。よろしくお願いします。

  • Accessのサブフォームについて

    メインフォームとサブフォームのあるフォームを作成しました。メインフォームを入力してから、サブフォームを入力し、次のレコードへ移動するのにメインフォームの移動ボタンを押すと、次のレコードのカーソルがサブフォームのフィールドへ移動します。メインフォームに移動する方法はありませんか?

  • access2007でのサブフォームへの入力

    仕入入力画面なんですが メインフォーム(仕入伝票テーブル)サブフォーム(仕入伝票明細テーブル) という構成です。 メインフォームで 仕入先をコンボボックスで指定すると サブフォームの 商品を入力するコンボボックスに メインフォームで選択した仕入先で購入できる商品が選べるように したいのですが、どうすればよろしいでしょうか? メインフォームの仕入先コンボボックスを選択する度に サブフォームの商品コンボボックスで選択できる内容を反映させたい です。 仕入先A : 商品1 商品2 仕入先B : 商品3 商品4 商品5 仕入先C : 商品6 商品7 商品8 商品9 メインフォームで仕入先コンボボックスで仕入先Aを選択すると サブフォームで選択できる商品コンボボックスは商品1と商品2 メインフォームで仕入先コンボボックスで仕入先Bを選択すると サブフォームで選択できる商品コンボボックスは商品3と商品4と商品5 というようなイメージで作りたいです。 どうかよろしくお願いします。

  • ACCESS メインFに入力後でなければサブFに入力出来ないようにするには?

     メインフォームに必要事項を入力後でなければ、詳細を入力するサブフォームに入力ができないようにしたいのですが、どうしたら良いでしょうか?  できれば、サブフォームのコントロールに触れると「必要事項を入力して下さい」とメッセージが出るような形にしたいのですが・・。 良い方法がありましたら教えて下さい。

  • ACCESS2003 サブフォームのデータ

    こんにちは。宜しくお願い致します。 ACCESS2003でDBを作成しています。 メインフォームの中にサブフォームを作っています。 それぞれのID(オートナンバー)をリレーションシップとして設定し、連動しています。 メインフォームにデータを追加する際、サブフォームにデータを入力せずに、 次のメインフォームにデータを入れた場合、 サブフォームのオートナンバーが働かず、のちのちデータを入れた際にIDが違うため情報がずれてしまいます。 例えば、 メインフォームのID1~9のサブフォームには何も書き込まずメインフォームにだけデータを入力します。 その後、メインフォームのID10にあるサブフォームにデータを書き込むと、立ち上げなおしたときに、そのサブフォームへの入力したデータがID1のデータとして出てきてしまいます。 恐らく簡単なことだとは思うのですが、なにぶん初心者なものでさっぱり分かりません。 お分かりになる方、是非ともご教授お願いいたします。

  • ACCESSのサブフォームコピーについて

    ACCESSのサブフォームコピーについて お世話になります。色々検索してたのですがなかなか解決できず、教えて下さい。 下記のようなフォームがあります。 メインフォームにボタンを設置し、メインフォームとサブフォームを同時にコピーしたいです。 【メインフォーム】 ID(オートナンバー) 登録名 住所 電話番号 など 【サブフォーム】 SubID(オートナンバー) ID(メインフォームと連結) ライセンス数 開始日 など メインフォームの「内容のコピーを作成」ボタンのクリック時の[イベント プロシージャ]に下記が記載してあります。 --- Private Sub 内容のコピーを作成_Click() On Error GoTo Err_内容のコピーを作成_Click Select Case MsgBox(srchXls & "◆内容のコピーを作成しますか?◆", vbOKCancel) Case vbOK DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append MsgBox (srchXls & Chr(13) & Chr(10) & "◆コピーを作成しました◆") Err_内容のコピーを作成_Click: Case Else Exit Sub End Select End Sub --- これではメインフォームのコピーしか出来ません。 サブフォームも一緒にコピーしたいのですが、どういった方法があるでしょうか。 宜しくお願いいたします。

  • Accessのサブフォーム内で連続番号を振りたい

    Accessのサブフォーム内で連続番号を振りたい メインフォームで受付番号親(オートナンバー型) サブフォームで受付番号子(数値) でサブフォームで連続番号を振りたい場合の方法が見つかりません。 例: メインフォーム 受付番号親1 サブフォーム 受付番号親1 子1 商品~~~ サブフォーム 受付番号親1 子2 商品~~~  メインフォーム 受付番号親2 サブフォーム 受付番号親2 子1 商品~~~ サブフォーム 受付番号親2 子2 商品~~~ てな具合なんですけど。

  • アクセスのサブフォームでのトラブル

    サブフォームにコンボボックスがあります。値集合ソースにクエリを指定しており、クエリの抽出条件でメインフォームのリストボックスの値を参照しています。 ところがなぜか、メインフォームのリストボックスを変更しても、それがサブフォームのコンボボックスに反映されません。どういうわけか、変更する前の値が反映されてしまいます。 ところがデータベースウィンドウからそのサブフォームを開くと、同じコンボボックスにメインフォームの変更がちゃんと反映されています。 メインフォームのリストボックスの更新後処理イベントでサブフォームのコンボボックスのリクエリを実行しています。 原因が分からず困っています。よろしくお願いします。

  • アクセス2003のサブフォームの値の代入

    アクセス2003でメインフォームにデータシートビューのサブフォームを作成しています。 そのサブフォームのフィールドにイベントで検索用の別のフォームを開くようにしています。 検索用フォームからサブフォームへマクロで値を代入するように しているのですが、サブフォームが見つからないというエラーが表示されます。 どこに問題があるのでしょうか? (ちなみにサブフォームだけ開いて検索フォームを開き値を代入するとうまく行きます。メインフォームからだとエラーになります。) どうぞよろしくお願いします。

専門家に質問してみよう