Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


188 / 2272 ツリー ←次へ | 前へ→

【12614】フォームからテーブルのフィールドを増やす kok 14/9/12(金) 9:52 質問[未読]
【12615】Re:フォームからテーブルのフィールドを増... 独覚 14/9/12(金) 10:16 発言[未読]
【12616】Re:フォームからテーブルのフィールドを増... kok 14/9/12(金) 13:11 発言[未読]
【12617】Re:フォームからテーブルのフィールドを増... 独覚 14/9/12(金) 14:05 発言[未読]
【12633】Re:フォームからテーブルのフィールドを増... kok 14/10/31(金) 14:16 お礼[未読]

【12614】フォームからテーブルのフィールドを増や...
質問  kok  - 14/9/12(金) 9:52 -

引用なし
パスワード
   Access2010を使用しています。

T発送テーブルに顧客番号(テキスト型)、H25年年賀状(Yes/No型)、H26年年賀状(Yes/No型)のフィールドがあります。

現在作っているシステムは自分ではなく、Access未経験者が使う予定です。
そのため、テーブルを開いて来期のH27年年賀状とか増やしてもらうのではなく、フォームのテキストボックスなどで入力したものをフィールドに追加していくという事はできるのでしょうか?
フィールド名だけでなくデータ型やプロパティの設定項目があったりと難しいとは思っています。

Access未経験でも簡単にフィールドを増やせる方法がありましたらよろしくお願いします。

【12615】Re:フォームからテーブルのフィールドを...
発言  独覚  - 14/9/12(金) 10:16 -

引用なし
パスワード
   ▼kok さん:
T発送テーブルの構造を
顧客番号:テキスト
発送年度:数値
発送フラグ:Yes/No
のようにはできないのですか?

【12616】Re:フォームからテーブルのフィールドを...
発言  kok  - 14/9/12(金) 13:11 -

引用なし
パスワード
   ▼独覚 さん:
>▼kok さん:
>T発送テーブルの構造を
>顧客番号:テキスト
>発送年度:数値
>発送フラグ:Yes/No
>のようにはできないのですか?

ありがとうございます。

テストしてみたのですが、顧客件数が500件以上あり、各項目を入力していくことは時間が掛かってしますので厳しいです。

【12617】Re:フォームからテーブルのフィールドを...
発言  独覚  - 14/9/12(金) 14:05 -

引用なし
パスワード
   ▼kok さん:
私ならば年度を追加するような定型業務はそれこそVBAでやらせちゃいますが。
例えばフォームで追加する年度を入力させて顧客マスタをもとに追加クエリで
まとめて追加とか。

少なくとも新年度を追加する分にはテーブル構造を変更したほうが楽だと思いますが。

【12633】Re:フォームからテーブルのフィールドを...
お礼  kok  - 14/10/31(金) 14:16 -

引用なし
パスワード
   ▼独覚 さん:
>▼kok さん:
>私ならば年度を追加するような定型業務はそれこそVBAでやらせちゃいますが。
>例えばフォームで追加する年度を入力させて顧客マスタをもとに追加クエリで
>まとめて追加とか。
>
>少なくとも新年度を追加する分にはテーブル構造を変更したほうが楽だと思いますが。

ご無沙汰しております。
別件で少し手が回らくなってしまい、返事のお返しが遅くなり申し訳ございません。

前回からいろいろネットで調べた結果、下記のようなVBAを見つけ、実行したらできました。


Private Sub 登録ボタン_Click()
  Dim dbs As DAO.Database
  Dim tdf As DAO.TableDef
  Dim fld As DAO.Field
  Dim prp As DAO.Property
  
  Set dbs = CurrentDb
  Set tdf = dbs.TableDefs!T発送
  Set fld = tdf.CreateField(項目追加, dbBoolean)
  tdf.Fields.Append fld
  Set prp = fld.CreateProperty("displaycontrol", dbInteger, acCheckBox)
  Call fld.Properties.Append(prp)
  
  Set prp = Nothing
  Set fld = Nothing
  Set tdf = Nothing
  Set dbs = Nothing
  
End Sub


ただ、この形で進めていくと別の問題が発生してしまいました。
後日、改めて質問させていただきたいと思います。


遅ればせながらありがとうございました。

188 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free