Probleme avec une combo box

Résolu
amelie39 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
 tessel75 - 24 janv. 2013 à 00:12
Bonjour,

J'ai un problème avec ma combo box. Elle fonctionnai correctement mais j'ai du faire une modification quelque part, et maintenant, elle ne fonctionne plus correctement.
Ma combo box est le nom de mon client. Si je double clique sur ma combo box, j'ouvre un nouveau formulaire qui va me donner des informations relatives au client présélectionné.
Maintenant, lorsque je double clique, cela fonctionne normalement sur certains clients, mais pas sur tous : j'obtins un formulaire vide.
Pourquoi ?

Voici mon code VBA :

Private Sub Combo53_DblClick(Cancel As Integer)

On Error GoTo ERREUR

Dim stdocname As String
Dim stlinkcriteria As String

stdocname = "fCustomer"
stlinkcriteria = "[customer_name]=" & "'" & Me![customer] & "'"
DoCmd.OpenForm stdocname, , , stlinkcriteria
SORTIE:
Exit Sub

ERREUR:
MsgBox Err.Description
Resume SORTIE

End Sub


Merci pour votre aide.
A voir également:

2 réponses

Tessel75 Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   22
 
Bonsoir,
" Maintenant, lorsque je double clique, cela fonctionne normalement sur certains clients, mais pas sur tous : j'obtins un formulaire vide. "
Si la boite de dialogue fonctionne comme vous voulez avec certains clients et pas d'autres, le problème n'est pas à chercher sur le code appelant les clients à partir de la boite, mais bien plutôt du côté du lien qui existe entre le nom rentré avec la liste variable et l'enregistrement devant apparaitre sur appel, càd la table d'origine des clients.
En ce sens, si le formulaire appelé est vide, c'est qu'il n'y a rien en face de la valeur prise par le contrôle de la boite de dialogue. Imparable !
A ce propos, il serait de très loin préférable que la BdD appelle l'Identifiant du client, un N°Auto, qu'un nom. Les Bases de Données fonctionnent mieux avec les N° qui sont uniques et non ambigus qu'avec des données alphabétiques. L'indexation est plus certaine.
A plus tard
0
amelie39 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre aide. Le problème est que le nom de mes clients n'ont pas change. Si je compare les noms des clients, tout est correct. Je ne comprends pas pourquoi cela ne me renvois pas le formulaire de temps en temps. Tout fonctionnai parfaitement avant !
0
Tessel75 Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   22
 
Bonsoir,
Merci d'envoyer un extrait de la base avec les éléments défectueux (Table (s) + formulaires + macros et codes correspondants) mais surtout pas de données confidentielles par cjoint.com
A plus tard.
0
amelie39 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Désolé pour ma réponse tardive. Impossible d'envoyer un extrait de ma base a cause de la confidentialité. Je ne comprends pas car le nom des sociétés correspondent entre le nom qui est dans ma combo box et la liste de mes clients. C'est a chaque fois correct. Peux tu y a til un espace ?
Je suis vraiment bloquée !
Merci
0
amelie39 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon, j'ai trouver la solution ! Merci pour ton aide !
0
tessel75
 
Bonsoir,
Si le problème est résolu: tant mieux, on ne peux que s'en réjouir Mais au point où nous sommes, merci de nous dire ce qui clochait, qu'on ait une idée de ce qui s'est passé.
Bonne suite
0
amelie39 Messages postés 70 Date d'inscription   Statut Membre Dernière intervention  
 
Tout simple. J'avais ajouter une nouvelle table s'appelant "représentant". Elle relie ma table client par le champ représentant. Sur certains clients, je ne sais pas le nom du représentant, du coup, le champ restait vide. Donc lorsque je demandais a ma base de donnée de me renvoyer toutes les informations concernant un client, si celui-ci avait le champ représentant renseigné, pas de souci. sinon, le formulaire était vide !
Quand on a trouve la solution, cela parait tout bête.
En tout cas, merci pour votre aide !
0
tessel75
 
Merci de ta réponse très éclairante.
Sans vouloir me vanter relis ma 1ère réponse : " si le formulaire appelé est vide, c'est qu'il n'y a rien en face de la valeur prise par le contrôle de la boite de dialogue. Imparable ! " Ce vide, ou cette valeur nulle, était indirecte mais il y avait tout de même un vide quelque part.
Il n'y a jamais de mystère;
Bonne continuation
0