2016-06-23 10 views
0

Access VBAでは、クエリに基づいてコンボボックスの値を更新しようとしています。コンボボックスの値の更新

コード:

Function updateComboBox() 
    Dim db As Database 
    Dim rs As DAO.Recordset 
    Set db = CurrentDb 
    Dim user as string 

    user = environ("username") 

    strSQL = "SELECT [Name] FROM myQuery WHERE [UserName] = '" & user & "'" 

    Set rs = db.OpenRecordset(strSQL) 
    If rs.RecordCount > 0 Then 
     Me.MyComboBox = rs.Fields(0) 
    End If 
End Function 

エラー私が取得:

You can't assign a value to this object.

は、どのように私は、コンボボックスの現在の値を変更できますか?

コンボボックスはクエリから生成された値のリストであることに注意することが重要です。それは同じクエリであることが起こるstrSQLが使用しています。ユーザーはまだ他の名前をとして選択することが重要ですが、デフォルトは独自のものです。

EDIT:

私はこの仕事をするために周りに、次の作業をやってしまった:

私は[MyTextBoxを=であることをMyComboBoxのデフォルトのプロパティを設定します。

Form_OnOpen - >クエリに基づいてmyTextBoxの値を更新します。フォームをリフレッシュすると、コンボボックスはmyTextBoxの値を表示します。

+0

ため

は=あなたがme.mycombobox.valueを試してみましたため、この

rs.fields(0) .Value –

+0

@ Nathan_Savはい、私は悲しいことに同じエラーを受け取ります:/ –

+0

'MyComboBox'はそのコントロールソースとして複数値フィールドを持っていますか? – HansUp

答えて

0

使用単一のデータMe.MyComboBox.AddItem(***)コレクション

Me.MyComboBox.List = rs.Fields(0) 
関連する問題