Probleme avec une combo box

Résolu/Fermé
amelie39 Messages postés 70 Date d'inscription jeudi 26 juillet 2012 Statut Membre Dernière intervention 24 août 2015 - 17 janv. 2013 à 17:03
 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.

2 réponses

Tessel75 Messages postés 192 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
17 janv. 2013 à 22:05
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 jeudi 26 juillet 2012 Statut Membre Dernière intervention 24 août 2015
18 janv. 2013 à 13:08
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 lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
18 janv. 2013 à 20:48
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 jeudi 26 juillet 2012 Statut Membre Dernière intervention 24 août 2015
23 janv. 2013 à 15:28
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 jeudi 26 juillet 2012 Statut Membre Dernière intervention 24 août 2015
23 janv. 2013 à 17:12
C'est bon, j'ai trouver la solution ! Merci pour ton aide !
0
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 jeudi 26 juillet 2012 Statut Membre Dernière intervention 24 août 2015
23 janv. 2013 à 23:51
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
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