2017-07-13 20 views
0

コンボボックスからの入力によってフィルタリングされたデータを表示するAccessのリストボックスを更新する必要があります。コンボボックスは、3つの列た:アクセス - リストボックスのデータの照会

IDティポディprodotto
ティポジProdotto
ID Categoria

最初のものは私はフィルタに必要なものであり、もう一つは表示だけでテキスト、三あります私は後でそれを使用します。

Private Sub Prodtypelistcb_AfterUpdate() 
Dim myquery As String 
myquery = "SELECT Prodotto.[ID Prodotto], Prodotto.[Nome prodotto],Prodotto.[ID Tipodiprodotto]" & _ 
"FROM Prodotto WHERE (Prodotto.[ID Tipodiprodotto]=Maschere!Brand!Prodtypelistcb.Value)" 

Me.Brandprodel.Visible = True 
Me.Brandprodel.RowSource = myquery 
Me.Brandprodel.Requery 

End Sub 

prodtypelistcbが入力アクションとして更新されるコンボボックスで、Brandprodelがアクションの後に更新されるリストボックスである:

私のコードは次のようです。私がWHERE = 1を置くと、すべてが機能するので、コードはクエリを除いてOKになります。

何も起こりません。どこが間違っていますか?

UPDATE

私はコンボボックスに値を設定し、アクセスインタフェースを使用して、純粋なクエリのために行く場合、それは私が必要なものを表示します。だから私はそれを更新した後にコンボボックスの値を取得することに問題があるかもしれませんが、理由を理解することはできません。

答えて

1

私はこの問題がSQLにあると信じています。

Dim myquery As String 
    myquery = "SELECT [ID Prodotto], [Nome prodotto], [ID Tipodiprodotto] " & _ 
       "FROM Prodotto WHERE [ID Tipodiprodotto] = " & _ 
       Me!Prodtypelistcb.Column(1) 
+0

ありがとうございます。とにかく、私はアクセスクエリージェネレータに使用された場合、以前に使用したクエリがなぜVBAで書かれていればうまくいかなかったのか、疑問を持っていません。 – nearchos

+0

アクセスクエリは 'Maschere!Brand!Prodtelistcb.Value'はコントロールですが、VBAはそれが' ''引用符で囲まれているため文字列値だと考えています。 –

関連する問題