Lien avec Sous Formulaire [Résolu]

Messages postés
5
Date d'inscription
jeudi 14 avril 2011
Dernière intervention
15 juin 2011
- 18 avril 2011 à 15:11 - Dernière réponse :
Messages postés
5
Date d'inscription
jeudi 14 avril 2011
Dernière intervention
15 juin 2011
- 18 avril 2011 à 15:13
Bonjour à tous, j'ai besoin d'aide en ce qui concerne les sous formulaires acces :s

Je dois créer un menu de recherche de composants à partir de certaines données telles que leur référence, une fois les critères entrés, il me faut alors afficher les composants dans une "liste".

Jusqu'ici j'avais tout écris en VBA et relié ma liste à une requète écrite en SQL. Le code se présentait comme cela.

Option Compare Database




Private Sub CodeArticleConcurrent_Change()
strRequete = "SELECT Tbl_Articles.Fournisseur, Tbl_Articles.CodeArticleFournisseur, "
strRequete = strRequete & "Tbl_Articles.CodeArticle, Tbl_Articles.Designation, Tbl_Articles_Concurrents.NiveauEquivalence,"
strRequete = strRequete & "Tbl_Articles_Concurrents.Commentaires FROM Tbl_Articles INNER JOIN Tbl_Articles_Concurrents ON "
strRequete strRequete & "Tbl_Articles.CodeArticle Tbl_Articles_Concurrents.CodeArticle "
strRequete strRequete & "where CodeArticleConcurrent '" & Me.CodeArticleConcurrent & "'"

'If IsNull(Me.Concurrent) = False Then
'strRequete = strRequete & " AND Concurrent='" & Me.Concurrent & "'"
'End If

Me.Liste.RowSource = strRequete
Me.Liste.Requery
End Sub



Private Sub Concurrent_Change()

Dim strRequete As String

strRequete = "SELECT Tbl_Articles.Fournisseur, Tbl_Articles.CodeArticleFournisseur, "
strRequete = strRequete & "Tbl_Articles.CodeArticle, Tbl_Articles.Designation, Tbl_Articles_Concurrents.NiveauEquivalence,"
strRequete = strRequete & "Tbl_Articles_Concurrents.Commentaires FROM Tbl_Articles INNER JOIN Tbl_Articles_Concurrents ON "
strRequete strRequete & "Tbl_Articles.CodeArticle Tbl_Articles_Concurrents.CodeArticle "

strRequete = strRequete & "where Concurrent='" & Me.Concurrent & "'"


Me.Liste.RowSource = strRequete
Me.Liste.Requery
End Sub

Private Sub DesignationConcurrent_Change()

Dim strRequete As String

strRequete = "SELECT Tbl_Articles.Fournisseur, Tbl_Articles_Concurrents.DesignationConcurrent, Tbl_Articles.CodeArticleFournisseur, "
strRequete = strRequete & "Tbl_Articles.CodeArticle, Tbl_Articles.Designation, Tbl_Articles_Concurrents.NiveauEquivalence,"
strRequete = strRequete & "Tbl_Articles_Concurrents.Commentaires FROM Tbl_Articles INNER JOIN Tbl_Articles_Concurrents ON "
strRequete strRequete & "Tbl_Articles.CodeArticle Tbl_Articles_Concurrents.CodeArticle "

strRequete = strRequete & "where DesignationConcurrent='" & Me.DesignationConcurrent & "'"

Me.Liste.RowSource = strRequete
Me.Liste.Requery

End Sub
Private Sub BOUTON_MENU_Click()
On Error GoTo Err_BOUTON_MENU_Click


DoCmd.Close
DoCmd.OpenForm ("Menu")

Exit_BOUTON_MENU_Click:
Exit Sub

Err_BOUTON_MENU_Click:
MsgBox Err.Description
Resume Exit_BOUTON_MENU_Click

End Sub


Bref, ça me permet d'avoir un beau menu fonctionnel avec 3 listes déroulantes et les résultats dans la liste. Mais voilà, la liste c'est bien sympa, mais l'utilisateur ne peux pas ajuster la taille des colonnes comme il le ferait avec un Excel, et encore moins les éditer...

D'où mon désir de remplacer cette liste par un sous formulaire...
Evidemment, la commande que j'utilise au dessus ne fonctionne pas avec.
Quelqu'un pourrait il m'aiguiller vers une methode sur le même modèle que la mienne (j'ai surtout pas envie d'utiliser les assistants de création...)
En particulier sur les bonnes commandes à utiliser?

Merci d'avance :)
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
5
Date d'inscription
jeudi 14 avril 2011
Dernière intervention
15 juin 2011
- 18 avril 2011 à 15:13
3
Merci
(Impossible d'éditer?)

J'insiste en fait sur ces deux lignes

Me.Liste.RowSource = strRequete
Me.Liste.Requery

Il me suffisait d'envoyer la commande SQL à ma liste pour qu'elle m'affiche le résultat de la requète. Comment faire l'équivalent avec un sous formulaire? :S

Merci switchON 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de switchON

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.