Access formulaire filtre
pierre
-
pierre -
pierre -
Bonjour,
C'est la premiere fois que je pose une question donc j'espere etre au bon endroit.. Bref, je travaille actuellement sur une base de donnees access.
J'ai donc creer plusieurs table que j'ai relie entre elles et que j'ai renseignees. (pas de probleme sur le MCD, il fonctionne correctement)
Maintenant je souhaiterai creer un fomulaire me permettant d'afficher certaines informations des tables que j'ai renseignee:
Table_actions --> champs_description action
T_test --> validation apres retouche
T_test --> Date test
T_composents --> Type_composant
T_combo --> Code_erreur
J'ai donc reussi a creer un formulaire qui me permet d'afficher les valeurs trier en fonction du composant que je choisi. Par exemple je choisi le composant "bouchon" et j'ai l'ensemble des infos Date test/Code erreur ect.... pour l'ensemble des enregistrements possedant "bouchon" comme component.... (idem pour les autres j'arrive a fiare un trie pour chaque champs)
Pour cela j'ai utilise ceci:
Private Sub Combo4_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[UID_action] = " & Str(Nz(Me![Combo4], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Mais maintenant,le probleme que je rencontre est que je n 'arrive pas a ajouter un deuxieme filtre. En gros j'aimerai affiner ma recherche en choississant par exemple "bouchon" et une date precise "12/12/09" afin d'avoir une recherche plus precise mais je comprend pas comment faire.
Si qqn a une reponse elle est la bien venue, en esperant avoir ete comprehensible...
C'est la premiere fois que je pose une question donc j'espere etre au bon endroit.. Bref, je travaille actuellement sur une base de donnees access.
J'ai donc creer plusieurs table que j'ai relie entre elles et que j'ai renseignees. (pas de probleme sur le MCD, il fonctionne correctement)
Maintenant je souhaiterai creer un fomulaire me permettant d'afficher certaines informations des tables que j'ai renseignee:
Table_actions --> champs_description action
T_test --> validation apres retouche
T_test --> Date test
T_composents --> Type_composant
T_combo --> Code_erreur
J'ai donc reussi a creer un formulaire qui me permet d'afficher les valeurs trier en fonction du composant que je choisi. Par exemple je choisi le composant "bouchon" et j'ai l'ensemble des infos Date test/Code erreur ect.... pour l'ensemble des enregistrements possedant "bouchon" comme component.... (idem pour les autres j'arrive a fiare un trie pour chaque champs)
Pour cela j'ai utilise ceci:
Private Sub Combo4_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[UID_action] = " & Str(Nz(Me![Combo4], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
Mais maintenant,le probleme que je rencontre est que je n 'arrive pas a ajouter un deuxieme filtre. En gros j'aimerai affiner ma recherche en choississant par exemple "bouchon" et une date precise "12/12/09" afin d'avoir une recherche plus precise mais je comprend pas comment faire.
Si qqn a une reponse elle est la bien venue, en esperant avoir ete comprehensible...
A voir également:
- Access formulaire filtre
- Whatsapp formulaire opposition - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Filtre whatsapp - Accueil - Messagerie instantanée
3 réponses
Salut voilà un exemple que j'espère vous aidera .
d'abord créez une requête puis le formulaire à partir de cette requête et interrogez cette dernière avec un code sql, à partir de cette exemple vous comprendrez :
ma requête est:ReqFichierPPA
mon formulaire est:FichierPPA
Private Sub SHP_Enter()
Dim dbscurrent As Database
Dim qrytest As QueryDef
Set dbscurrent = CurrentDb()
If Not IsNull(Me!NumLot) Then
Set qrytest = dbscurrent.QueryDefs("ReqFichierPPA")
qrytest.sql = "SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" & _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
Dim rst As Recordset
Set rst = Form_FichierPPA.Recordset
DoCmd.OpenForm ("FichierPPA")
If IsNull(Form_FichierPPA!QtéStk) Then
Form_FichierPPA!QtéStk = Me!QtéAch
Form_FichierPPA!QtéEnStock = Me!QtéAch
Else
Form_FichierPPA!QtéStk = Form_FichierPPA!QtéStk + Me!QtéAch
Form_FichierPPA!QtéEnStock = Form_FichierPPA!QtéEnStock + Me!QtéAch
End If
Else
Set qrytest = dbscurrent.QueryDefs("ReqFichierPPA")
qrytest.sql = "SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" '& _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
'Dim rst As Recordset
Set rst = Form_FichierPPA.Recordset
DoCmd.OpenForm ("FichierPPA")
If IsNull(Form_FichierPPA!QtéStk) Then
Form_FichierPPA!QtéStk = Me!QtéAch
Form_FichierPPA!QtéEnStock = Me!QtéAch
Else
Form_FichierPPA!QtéStk = Form_FichierPPA!QtéStk + Me!QtéAch
Form_FichierPPA!QtéEnStock = Form_FichierPPA!QtéEnStock + Me!QtéAch
End If
End If
End Sub
d'abord créez une requête puis le formulaire à partir de cette requête et interrogez cette dernière avec un code sql, à partir de cette exemple vous comprendrez :
ma requête est:ReqFichierPPA
mon formulaire est:FichierPPA
Private Sub SHP_Enter()
Dim dbscurrent As Database
Dim qrytest As QueryDef
Set dbscurrent = CurrentDb()
If Not IsNull(Me!NumLot) Then
Set qrytest = dbscurrent.QueryDefs("ReqFichierPPA")
qrytest.sql = "SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" & _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
Dim rst As Recordset
Set rst = Form_FichierPPA.Recordset
DoCmd.OpenForm ("FichierPPA")
If IsNull(Form_FichierPPA!QtéStk) Then
Form_FichierPPA!QtéStk = Me!QtéAch
Form_FichierPPA!QtéEnStock = Me!QtéAch
Else
Form_FichierPPA!QtéStk = Form_FichierPPA!QtéStk + Me!QtéAch
Form_FichierPPA!QtéEnStock = Form_FichierPPA!QtéEnStock + Me!QtéAch
End If
Else
Set qrytest = dbscurrent.QueryDefs("ReqFichierPPA")
qrytest.sql = "SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" '& _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
'Dim rst As Recordset
Set rst = Form_FichierPPA.Recordset
DoCmd.OpenForm ("FichierPPA")
If IsNull(Form_FichierPPA!QtéStk) Then
Form_FichierPPA!QtéStk = Me!QtéAch
Form_FichierPPA!QtéEnStock = Me!QtéAch
Else
Form_FichierPPA!QtéStk = Form_FichierPPA!QtéStk + Me!QtéAch
Form_FichierPPA!QtéEnStock = Form_FichierPPA!QtéEnStock + Me!QtéAch
End If
End If
End Sub
OK, merci je vais essayer de regarder tt ca ds le week end car pour aujourd'hui c tendu. Je suis pas trop un pro du SQL ou VBA donc je suis pas sur de reussir a reproduire ton exemple mais juste une ptite question :
Est-ce normal que tu es deux fois la meme chose....
Et sinon d'autre question rapide
"SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" & _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
J'imagien que les .RéfProduit ou .NumLot correspondent aux champs et moi ce serait du genre .Type_composant
Apres pk des fois tu en a deux avant d'avoir un & et des fois trois....
A partir de la
FichierPPA.RéfProduit = Produits.RéfProduit
je comprend pas trop ce que moi je dois choisir comme champs
Voila je regarde plus precisement ds le week end et on en reparle..
Est-ce normal que tu es deux fois la meme chose....
Et sinon d'autre question rapide
"SELECT FichierPPA.RéfProduit, FichierPPA.PPA," & _
"FichierPPA.PUHT, FichierPPA.NumLot, FichierPPA.DatePér," & _
"FichierPPA.QtéStk, Produits.QtéEnStock FROM FichierPPA INNER JOIN Produits ON FichierPPA.RéfProduit = Produits.RéfProduit WHERE FichierPPA.RéfProduit Like '" & Me!RéfProduit & "'" & _
"And FichierPPA.PPA Like '" & Me!PPA & "*'" & _
"And FichierPPA!NumLot Like '" & Me!NumLot & "';"
J'imagien que les .RéfProduit ou .NumLot correspondent aux champs et moi ce serait du genre .Type_composant
Apres pk des fois tu en a deux avant d'avoir un & et des fois trois....
A partir de la
FichierPPA.RéfProduit = Produits.RéfProduit
je comprend pas trop ce que moi je dois choisir comme champs
Voila je regarde plus precisement ds le week end et on en reparle..