Lien avec Sous Formulaire

Résolu
switchON Messages postés 5 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 15 juin 2011 - 18 avril 2011 à 15:11
switchON Messages postés 5 Date d'inscription jeudi 14 avril 2011 Statut Membre 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 :)

1 réponse

switchON Messages postés 5 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 15 juin 2011
18 avril 2011 à 15:13
(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
3
Rejoignez-nous