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 29/12/2010, 18h37   #1
Invité régulier
 
Inscription : juin 2008
Messages : 137
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 137
Points : 6
Points : 6
Par défaut Entrer une valeur de paramètre

Tout d'abord bonjour tout le monde,


J'ai une BDD avec différentes tables.

Je souhaite créer un formulaire de recherche.

J'ai créé un forumulaire où est affiché tous les enregistrements de ma table Produit (Il y a X enregistrements affichés en ligne les un en dessous des autres). Je souhaite faire une recherche d'un nom (et/ou d'une remarque) d'un produit sélectionner à partir de deux listes déroulantes. Juste à cliquer sur mon bouton valider (procèdure VBA) pour me voir afficher l'enregistrement en question.

J'ai donc créé deux listes déroulantes avec une requête SQL pour chacune : une qui m'affiche tous les noms de mes produits et l'autre toutes les remarques de mes produits. Pour mon code VBA, il fonctionne très bien puisque je l'ai déjà utilisé dans une autre base de donnée. Et mon formulaire fonctionnait tout à fait bien.

Mon problème est que cela ne fonctionne pas, lorsque je selectionne à l'aide de mes deux listes déroulantes (ou une seule) et que je clique sur mon bouton valider, une boîte de dialogue s'affiche et me dit « Entrer une valeur de paramètre ».


Une semaine que je suis dessus, et je n'ai pas de trouver. Je demande de l'aide, si quelqu'un pouvait m'aider svp, ça serait vraiment gentil.




Cordialement.


Guns Of The Patriots
Guns Of The Patriots est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 19h17   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 534
Points : 7 534
Peux-tu mettre le SQL de tes 2 listes ET le code VBA appelé par le bouton.

Probablement qu'il y a une erreur de syntaxe dans le SQL que tu génères mais difficile de dire où sans autres éléments.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 20h10   #3
Invité régulier
 
Inscription : juin 2008
Messages : 137
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 137
Points : 6
Points : 6
Requête n°1 :

SELECT[Liste de Titres de CD].[Titre du CD] FROM[Liste de Titres de CD];


Requête n°2 :

SELECT [Catégories musicales].CatégorieMusicale FROM [Catégories musicales];


Les deux listes déroulantes affichent bien ce que je leur demande.


Code VBA :

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
Private Sub cmdfiltre_Click()
F = ""
If Not IsNull(Me.RchTitre) And Me.RchTitre <> "" Then
  If F <> "" Then
    F = F & " AND titre = """ & Me.RchTitre & """"
  Else
    F = "titre = """ & Me.RchTitre & """"
  End If
 
  If Not IsNull(Me.RchMusic) And Me.RchMusic <> "" Then
 
    If F <> "" Then
      F = F & " AND music = """ & Me.RchMusic & """"
    Else
      F = "music = """ & Me.RchMusic & """"
    End If
 
  End If
 
End If
 
Me.Filter = F
Me.FilterOn = True
End Sub
Guns Of The Patriots est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 14h45   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 534
Points : 7 534
Ok, comme cela je ne vois rien d'annormal mais probablement que la syntaxe de F n'est pas correcte sans doute à cause des valeurs contenues dans Me.RchTitre et Me.RchMusic.

Peux-tu mettre un point d'arret sur Me.Filter = F et faire afficher F à ce moment là. Ça devrait te donner un indice.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 15h00   #5
Invité régulier
 
Inscription : juin 2008
Messages : 137
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 137
Points : 6
Points : 6
Je ne comprend ce que tu veux dire par là, je ne sais pas quoi modifier marot_r. Peux tu me dire s'il te plait. Merci de prendre le temps de m'aider.
Guns Of The Patriots est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2010, 18h12   #6
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 534
Points : 7 534
Quand tu exécutes ton code, tu peux mettre un point d'arret, c-à-d un moment où l'éxécution de ton code va s'arréter et où tu peux aller voir ce qui se passe dans ton code à ce moment précis. C'est très utile pour trouver les erreurs d'éxécution.

Pour cela, va dans ton code en mode d'édition et clique dans la marge à gauche de ta ligne de code. Cela va mettre un gros point marron sur la ligne. Ce point matérialise le point d'arrêt.

Tu lance ensuite ton code comme d'habitude et Access va s'arréter là. Tu peux ensuite pointer F avec ta souris et Access va afficher le contenu de la variable.

Si access n'affiche pas toute la chaîne de caractères car elle est trop longue, tape [Ctrl][G] pour ouvrir la fenêtre d'éxécution imméiate puis tape print F[Enter] pour afficher le contenu de F.

Pour enlever le point d'arret il suffit de recliquer dessus.

Pour continuer l'éxécution après appuyer sur [F5].
Pour simplement éxécuter l'instruction en cours et passer à la suivante, appuyer sur [F8].

Ceci n'est qu'un très bref apperçu des fonctions de débugage de Access. Prend le temps de te documenter sur ce sujet à ce propos tu vas gagner un temps fou en mise au point.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r 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 12h27.


 
 
 
 
Partenaires

Hébergement Web