プロが教えるわが家の防犯対策術!

アクセスVBAで年、月、日それぞれコンボボックスをセットしたいです。

- - - - - - - - - - - - - - - - - - - - -
Private Sub UserForm_Initialize()

Dim i As Long

For i = 1 To 12
cb月.AddItem i
Next

For i = 1 To 31
cb日.AddItem i
Next

End Sub
- - - - - - - - - - - - - - - - - - - - -

エクセルVBAでは上記のように処理するらしいです。

同様の処理ができるのでしょうか。

よろしくお願いします。

A 回答 (2件)

Accessの場合は、コンボボックスの内容をテーブルに保存します。

その
テーブルを元にしてコンボボックスを作ります。

詳細は下記を参照願います。
http://www.mahoutsukaino.com/ac/access2007/03_db …
    • good
    • 0

エクセルでもシートの範囲を指定できますね。



そのような場合の Access の方法は。
・「値集合タイプ」を「テーブル/クエリ」
・「値集合ソース」に テーブル名、クエリ名、SQL文

決まった少数の固定データを指定するなら
・「値集合タイプ」を「値リスト」
・「値集合ソース」の指定の仕方はいろいろありますが
 「値集合ソース」は指定せずに、フォームの「開く時」イベントなどで、質問者さんのコードを実行。
 (AddItem は Access97 辺りでは使えませんが)
 「値集合ソース」に「大;中;小」など、直に記述。
 「値集合ソース」VBA で編集した文字列を代入。
この場合でも、テーブルにしておいた方が良いケースもあります。

他に、あまり使用した例を見かけることはありませんが
「値集合タイプ」にユーザー関数を設定することもできます。

【参考】
ListBox.RowSourceType プロパティ (Access)
https://msdn.microsoft.com/ja-jp/library/office/ …
値集合タイプでのユーザー定義関数:SampleFile116
http://www.accessclub.jp/samplefile/samplefile_1 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A