Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/12/2011, 09h25   #1
Nouveau Membre du Club
 
patrick delavy
Inscription : mars 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : patrick delavy
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 120
Points : 31
Points : 31
Par défaut Problème dans formulaire de recherche

Bonjour le forum,

J'ai utilisé comme formulaire de recherche celui de cafeine que j'ai adapté pour mon utilisation.

Seulement, j'ai un petit soucis. Quand, je coche la case et que je sélectionne une ligne dans le menu déroulant, le sous formulaire ne se met pas à jour.

Ci-joint le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Option Compare Database
 
Private Sub chkTitre_Click()
 
If Me.chkTitre Then
    Me.cmbRechTitre.Visible = False
Else
    Me.cmbRechTitre.Visible = True
End If
 
RefreshQuery
 
End Sub
 
Private Sub cmbRechTitre_BeforeUpdate(Cancel As Integer)
 
RefreshQuery
 
End Sub
 
Private Sub Form_Load()
 
Dim ctl As Control
 
For Each ctl In Me.Controls
    Select Case Left(ctl.Name, 3)
        Case "chk"
            ctl.Value = 0
 
        Case "lbl"
            ctl.Caption = "- * - * -"
 
        Case "cmb"
            ctl.Visible = True
 
    End Select
Next ctl
 
Me.lstResults.RowSource = "SELECT CodMedia, Titre FROM Medias;"
Me.lstResults.Requery
 
End Sub
 
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String
 
SQL = "SELECT CodMedia, Titre FROM Medias Where Medias!CodMedia <> 0 "
 
If Not Me.chkParagraphe Then
    SQL = SQL & "And Medias!Titre = '" & Me.cmbRechTitre & "' "
End If
 
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
 
SQL = SQL & ";"
 
Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
 
End Sub
 
 
Private Sub lstResults_DblClick(Cancel As Integer)
 
DoCmd.OpenForm "frmAutoMedias", acNormal, , "[CodMedia] = " & Me.lstResults
 
 
End Sub
Merci de votre aide et bonne journée à tous
pat17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 18h02   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 620
Points : 11 620
Bonjour,

Il te faut déboguer la requete générée.

Regarde le tuto sur le sujet Requete en VBA.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 08h38   #3
Nouveau Membre du Club
 
patrick delavy
Inscription : mars 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : patrick delavy
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 120
Points : 31
Points : 31
Bonjour le forum, bonjour loufab et merci de ton aide.

J'ai déjà essayé avec les différentes solutions proposées par le tutoriel sur les requêtes et je n'arrive pas à progresser. Je ne vois pas l'erreur.

Pouvez vous me conseiller.

Merci de votre aide
pat17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 09h22   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 620
Points : 11 620
Bonjour,

Peux-tu poster la requete générée ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 11h54   #5
Nouveau Membre du Club
 
patrick delavy
Inscription : mars 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : patrick delavy
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 120
Points : 31
Points : 31
Re,

Je n'arrive pas a faire fonctionner la requête générée (je suppose que tu parles de celle qui est dans le tutoriel ?).

J'ai mis des espion sur SQL = Select et SQL Where et voici la réponse.
Watch : : SQL : <Hors du contexte> : Empty : Form_frmRecherche.RefreshQuery.

Sinon, j'ai un message qui me dit que l'expression espionne est vide.

Cordialement
pat17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 12h02   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 620
Points : 11 620
Il faut mettre

après

de la sub refreshquery

Et poster ce qui apparait après l'exécution.

Sans cela pas d'aide possible.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 13h50   #7
Nouveau Membre du Club
 
patrick delavy
Inscription : mars 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : patrick delavy
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 120
Points : 31
Points : 31
Re,

J'ai fait comme tu le dis et il ne se passe rien

Je n'ai pas de message d'erreur ni de demande de débuggage

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub RefreshQuery()
Dim SQL As String
Dim SQLWhere As String

SQL = "SELECT CodMedia, Titre FROM Medias Where Medias!CodMedia <> 0 "

If Not Me.chkTitre Then
    SQL = SQL & "And Medias!Titre = '" & Me.cmbRechTitre & "' "
End If


SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))

SQL = SQL & ";"

Debug.Print SQL

Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery

End Sub
pat17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h33   #8
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 926
Points : 9 926
Envoyer un message via Skype™ à Domi2
Bonjour,

Le résultat est visible dans la fenêtre d'exécution de l'éditeur VBA.

Après avoir exécuté ton programme, Alt+F11, menu Affichage ==> Fenêtre Exécution ou Ctrl+G.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 14h56   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 620
Points : 11 620
Je ne pense pas que tu ais lu le tuto sur le débogage des requetes en VBA comme je te l'ai conseillé. C'était marqué dedans en toute lettre.

Allons ! il faut appliquer les conseils, ce n'est pas pour rien qu'on les donne !
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 15h20   #10
Nouveau Membre du Club
 
patrick delavy
Inscription : mars 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : patrick delavy
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 120
Points : 31
Points : 31
Bonjour Domi2 et merci de ton aide.

J'ai déjà fait ce que vous me demander, mais ma fenêtre d'execution reste désespérément vide.

Faut il créer une macro car quand je clique sur le bouton executer il me le propose?
pat17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h36.


 
 
 
 
Partenaires

Hébergement Web