Access formulaire filtre

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...

3 réponses

  1. mprog67 Messages postés 51 Statut Membre 2
     
    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
    0
  2. pierre
     
    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..
    0