Access (VBA)

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

 
(Windows 10 Home : Access 2007)
ComboBoxのデータを自動で移動です
投稿日時: 17/06/08 12:22:09
投稿者: miyama2305

フォーム名 元帳top にコンボボックス(cmb1)を貼付けています。
元帳選択科目QL(クエリ)に以下の勘定科目を表示しています
コード--勘定科目---------貸借
1111----現金--------------1
1113----普通預金----------1
1133----未成工事支出金----1
2112----工事未払金--------2
4111----売上--------------2
6211----役員報酬----------1
以降続く
 
cmb1プロパティの値集合ソースに元帳選択科目QLを記述
列数を3 列幅を0cm;2cm;0cmと設定しています
vbaは以下です。
総勘定元帳表示のため、textbox1に科目コード、同2に貸借コード
Private Sub cmb1_AfterUpdate()
Me.textbox1 = Me.cmb1.Column(0)
Me.text7 = Me.cmb1.Column(1)
Me.textbox2 = Me.cmb1.Column(2)
End Sub
 
textbox1に表示された、科目コードで、元帳を表示します。
 
お願いですが、cmb1には、以下のように表示されます
現金
普通預金
未成工事支出金
工事未払金
売上
役員報酬
 
表示したい科目を選択して元帳を表示するのですが、自動に行を移動して
順次選択するようにしたいのです。
 
excelの場合は以下のコードで順次移動できます。
Sheets("sheet1").ComboBox1.ListIndex = 0
Dim i As Long
For i = 0 To ActiveSheet.OLEObjects("ComboBox1").Object.ListCount - 1
Range("w1").Value = ActiveSheet.OLEObjects("ComboBox1").Object.List(i, 1)
 
申し訳ありませんが、よろしくお願いします
 
 
 
 
 
 
 
 
 

回答
投稿日時: 17/06/08 14:57:54
投稿者: hatena
投稿者のウェブサイトに移動

エクセルのコードが一部の抜粋なので、自動で行を移動するというのが、いまいちどういうものなのか分かりませんが、
 
とりあえず、コンポボックスのリストの各行にアクセスするには、下記のようにできます。
 

Dim i As Long
    
For i = 0 To Me.cmb1.ListCount - 1
    Debug.Print i + 1 & "行目"
    Debug.Print Me.cmb1.Column(0, i) & " " & Me.cmb1.Column(1, i) & Me.cmb1.Column(2, i)
Next

 
 
要するに、Column(列, 行) ということです。
行を省略すると選択されいる行の値を返します。
 
 
ComboBox.Column プロパティ (Access)
https://msdn.microsoft.com/ja-jp/library/office/ff192660(v=office.15).aspx

投稿日時: 17/06/09 09:16:19
投稿者: miyama2305

hatena 様
返事遅くなり申し訳ありません
 
時間下さい

投稿日時: 17/10/15 15:05:54
投稿者: miyama2305

申し訳ありません
一旦とじます