コンボボックスからの入力によってフィルタリングされたデータを表示する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
私はコンボボックスに値を設定し、アクセスインタフェースを使用して、純粋なクエリのために行く場合、それは私が必要なものを表示します。だから私はそれを更新した後にコンボボックスの値を取得することに問題があるかもしれませんが、理由を理解することはできません。
ありがとうございます。とにかく、私はアクセスクエリージェネレータに使用された場合、以前に使用したクエリがなぜVBAで書かれていればうまくいかなかったのか、疑問を持っていません。 – nearchos
アクセスクエリは 'Maschere!Brand!Prodtelistcb.Value'はコントロールですが、VBAはそれが' ''引用符で囲まれているため文字列値だと考えています。 –