Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2010)
自動入力
投稿日時: 18/06/03 23:04:41
投稿者: monster_777

サブフォームにリスト入力しています。
番号  No  項目
1111  1   あいうえお
1111  2   かきくけこ
1111  3   さしすせそ
1111  4   たちつてと
1111  5   なにぬねの
 
新規ページ(コマンドボタン)を押すと、入力した文字がすべて消えるのですが、
 
同時に、No にのみ(1,2,3,4,・・・・9)を入力したいのですが、どうすれば良いでしょうか。
 
No は、T_No(テーブル)になっています。
 
よろしくお願いします。

回答
投稿日時: 18/06/04 15:52:32
投稿者: hatena
投稿者のウェブサイトに移動

monster_777 さんの引用:
新規ページ(コマンドボタン)を押すと、

新規レコードへ移動するということなら、
メインフォームのレコード移動時のイベントプロシージャを
 
Private Sub Form_Current()
    If Me.NewRecord Then
        CurentDb.Execute "INSERT INTO サブテーブル ( リンク子フィールド, [No] ) " & _
                         "SELECT " & Me.リンク親フィールド & ", [No] FROM T_No;"
        Me.サブフォームコントロール名.Form.Requery
    End If
End Sub

 
サブテーブルは、実際のサブフォームのレコードソースのテーブル名
リンク親フィールド も リンク子フィールド も実際のフィールド名にしてください。

投稿日時: 18/06/05 05:40:39
投稿者: monster_777

ありがとうございました。
一度やってみます。

投稿日時: 18/06/05 20:24:15
投稿者: monster_777

エラーが出て上手く動作できませんでした。
 
再度、詳細をお伝えします。
 
 
F_デンタル内のF_デンタルのサブフォームにリスト入力しています。
保存先テーブルは、T_デンタル で フィールド名は、部位
コピー元となる部位のテーブルは、T_部位 で フィールド名は、部位_1
 
F_デンタルのサブフォーム
番号  部位   項目
1111  1    あいうえお
1111  2    かきくけこ
1111  3    さしすせそ
 
新規ページ(コマンドボタン)を押すと、入力した文字がすべて消えるのですが、
  
同時に、部位 にのみ(1,2,3,)を入力したいのですが、どうすれば良いでしょうか。
  
*************************************
Private Sub Form_Current()
    If Me.NewRecord Then
        CurentDb.Execute "INSERT INTO F_デンタルのサブフォーム( 部位) " & _
                         "SELECT " & Me.部位 & ", [部位] FROM T_部位;"
        Me.部位.Form.Requery
  End If
End Sub
**************************************
 
としましたが、エラーがでます。
 
よろしくお願いします。
 
 
 

回答
投稿日時: 18/06/05 21:58:09
投稿者: hatena
投稿者のウェブサイトに移動

私の回答がきちんと理解できてないようです。
 
下記の点について情報を提供してください。
 

引用:
新規ページ(コマンドボタン)を押すと、

@このコマンドボタンに設定されているマクロまたはVBAの内容。
 
引用:
F_デンタルのサブフォーム

Bこのサブフォームコントロールの名前
Bこのサブフォームコントロールのリンク親フィールド、リンク子フィールドの設定。
Cこのサブフォームコントロールに埋め込まれているフォームのレコードソースのテーブル名。
 
なお、サブフォームコントロールの名前については下記を参照してください。
 
サブフォームとサブフォームコントロールの違いとは? - hatena chips
https://hatenachips.blog.fc2.com/blog-entry-347.html
 
 
仮定のコントロール名、テーブル名やフィールド名ではなく、実際のものを提示してください。
失礼ながら、投稿内容を見る限り、
仮定のものを実際に合わせて応用できるだけのスキルをお持ちとは思えませんので。

回答
投稿日時: 18/06/05 22:03:33
投稿者: hatena
投稿者のウェブサイトに移動

monster_777 さんの引用:
保存先テーブルは、T_デンタル で フィールド名は、部位
コピー元となる部位のテーブルは、T_部位 で フィールド名は、部位_1
 
F_デンタルのサブフォーム
番号  部位   項目
1111  1    あいうえお
1111  2    かきくけこ
1111  3    さしすせそ

 
上記のテーブル名、フィールド名は実際のものですか。

投稿日時: 18/06/05 22:46:45
投稿者: monster_777

詳しくなくてすみません。
 
@このコマンドボタンに設定されているマクロまたはVBAの内容。
クリック時の埋め込みマクロ 新しいレコード
 
Bこのサブフォームコントロールの名前
F_デンタルのサブフォーム1
Bこのサブフォームコントロールのリンク親フィールド、リンク子フィールドの設定。
リンク親フィールド=番号
リンク子フィールド=番号
Cこのサブフォームコントロールに埋め込まれているフォームのレコードソースのテーブル名。
 T_デンタル1
 
です。
 
実際のものです。
 
 
よろしくお願いします。
 
 

投稿日時: 18/06/09 09:37:53
投稿者: monster_777

ありがとうございました。