Zone de liste + recordset
koniak
-
koniak -
koniak -
Bonjour,
J'ai déjà fait quelques applications sous Access donc je commence à être un poil calé sur le sujet.
Je reproduit toujours les mêmes opérations concernant la consultation des tables à savoir :
- Un formulaire contenant un ou plusieurs filtres. Par "filtre", j'entends des listes déroulantes à renseigner par les utilisateurs afin de filtrer les résultats de la requête. Pour l'exemple cité plus loin, j'utilise uniquement le filtre "processus".
- Une requête "req" de type String
- Un recordset nommé ici "rs"
- L'injection des données de ce recordset dans une zone de liste nommé ici "listedoc"
Le problème est le suivant :
A chaque nouvelle application créée, je copie colle le code en remplaçant juste le nom des variables, des champs, des objets etc... (Logique puisque la méthode ne change pas)
Sauf que cette fois ci, le programme tourne correctement mais la zone de liste n'est pas renseignée, et pourtant aucun message d'erreur ni bug quelconque n'apparait.
Lorsque la requête ne renvoi aucun résultat, le message "Aucun document ne correspond aux critères sélectionnés" s'affiche correctement.
Pour informations j'ai tout vérifié :
- Le nom de la zone de liste
- La couleur (puisque si c'est écrit en blanc c'est normal que l'on ne voit rien à l'écran)
- Les caractéristiques de la zone de liste sont les mêmes que pour mes anciennes applications qui fonctionnent très bien
- Les propriétés des tables également
- Les propriétés du formulaire idem
- J'ai même recréer un formulaire sur une autre base en pensant que cela venait peut-être de là mais sans succès.
Donc je ne sais plus où chercher!!!
Voici le code mais je ne pense pas que le problème vienne de celui-ci :
Private Sub Commande9_Click()
On Error GoTo Err_Commande9_Click
Dim req As String
Dim rs, rs2 As Recordset
Dim mabase As Database
Set mabase = CurrentDb()
'renseigne la variable service
process = Me.Modifiable1.Value
'FILTRER PAR PROCESSUS
If process <> "" Then
req = "SELECT [Référence],[Version],[Titre],[Statut] FROM [Documents applicables] WHERE [Documents applicables].[Processus]='" & process & "'"
else
'TOUS LES DOCUMENTS
req = "SELECT [Référence],[Version],[Titre],[Statut] FROM [Documents applicables]"
End If
'Mettre les résultats de la requête dans le recordset
Set rs = mabase.OpenRecordset(req)
If (rs.RecordCount = 0) Then
MsgBox ("Aucun document ne correspond aux critères sélectionnés")
Exit Sub
End If
'supprimer le contenu de la liste
listedoc.RowSource = ""
listedoc.RowSourceType = "Liste Valeurs "
'TERMINE LE PROGRAMME SI ERREUR
On Error Resume Next
'EOF faire jusqu'à la fin de la requête, champ vide tableau fini
Do Until rs.EOF
'Affichage des résultats de la requête req
' ; est le délimiteur de colonne
listedoc.RowSource = listedoc.RowSource & Str(rs(0)) & ";" & rs(1) & ";" & rs(2) & ";" & rs(3) & ";"
rs.MoveNext
Loop
rs.Close
mabase.Close
End Sub
Voilà, j'espère avoir assez détaillé le problème et donc si quelqu'un a déjà rencontré un problème de la sorte j'aimerais un peu d'aide parce que là je sature complet!
Merci à vous
J'ai déjà fait quelques applications sous Access donc je commence à être un poil calé sur le sujet.
Je reproduit toujours les mêmes opérations concernant la consultation des tables à savoir :
- Un formulaire contenant un ou plusieurs filtres. Par "filtre", j'entends des listes déroulantes à renseigner par les utilisateurs afin de filtrer les résultats de la requête. Pour l'exemple cité plus loin, j'utilise uniquement le filtre "processus".
- Une requête "req" de type String
- Un recordset nommé ici "rs"
- L'injection des données de ce recordset dans une zone de liste nommé ici "listedoc"
Le problème est le suivant :
A chaque nouvelle application créée, je copie colle le code en remplaçant juste le nom des variables, des champs, des objets etc... (Logique puisque la méthode ne change pas)
Sauf que cette fois ci, le programme tourne correctement mais la zone de liste n'est pas renseignée, et pourtant aucun message d'erreur ni bug quelconque n'apparait.
Lorsque la requête ne renvoi aucun résultat, le message "Aucun document ne correspond aux critères sélectionnés" s'affiche correctement.
Pour informations j'ai tout vérifié :
- Le nom de la zone de liste
- La couleur (puisque si c'est écrit en blanc c'est normal que l'on ne voit rien à l'écran)
- Les caractéristiques de la zone de liste sont les mêmes que pour mes anciennes applications qui fonctionnent très bien
- Les propriétés des tables également
- Les propriétés du formulaire idem
- J'ai même recréer un formulaire sur une autre base en pensant que cela venait peut-être de là mais sans succès.
Donc je ne sais plus où chercher!!!
Voici le code mais je ne pense pas que le problème vienne de celui-ci :
Private Sub Commande9_Click()
On Error GoTo Err_Commande9_Click
Dim req As String
Dim rs, rs2 As Recordset
Dim mabase As Database
Set mabase = CurrentDb()
'renseigne la variable service
process = Me.Modifiable1.Value
'FILTRER PAR PROCESSUS
If process <> "" Then
req = "SELECT [Référence],[Version],[Titre],[Statut] FROM [Documents applicables] WHERE [Documents applicables].[Processus]='" & process & "'"
else
'TOUS LES DOCUMENTS
req = "SELECT [Référence],[Version],[Titre],[Statut] FROM [Documents applicables]"
End If
'Mettre les résultats de la requête dans le recordset
Set rs = mabase.OpenRecordset(req)
If (rs.RecordCount = 0) Then
MsgBox ("Aucun document ne correspond aux critères sélectionnés")
Exit Sub
End If
'supprimer le contenu de la liste
listedoc.RowSource = ""
listedoc.RowSourceType = "Liste Valeurs "
'TERMINE LE PROGRAMME SI ERREUR
On Error Resume Next
'EOF faire jusqu'à la fin de la requête, champ vide tableau fini
Do Until rs.EOF
'Affichage des résultats de la requête req
' ; est le délimiteur de colonne
listedoc.RowSource = listedoc.RowSource & Str(rs(0)) & ";" & rs(1) & ";" & rs(2) & ";" & rs(3) & ";"
rs.MoveNext
Loop
rs.Close
mabase.Close
End Sub
Voilà, j'espère avoir assez détaillé le problème et donc si quelqu'un a déjà rencontré un problème de la sorte j'aimerais un peu d'aide parce que là je sature complet!
Merci à vous
A voir également:
- Zone de liste + recordset
- Liste déroulante excel - Guide
- Alternative zone telechargement - Accueil - Outils
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Liste de diffusion whatsapp - Guide