IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

problème sur l'existence du contenu d'une combo


Sujet :

Visual Studio

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut problème sur l'existence du contenu d'une combo
    Bonjour,

    Voila J'ai deux combo.
    * NomContact
    * NomMachine

    La combo NomContact permet d'obtenir les informations du téléphone du contact et de remplir la combo NomMachine.
    Mais si la combo NomMachine est vide (aprés avoir choissit la combo NomContact) alors on doit créer la machine (en rajoutant des TextBox) mais si elle est pas vide on choissit le nom de la machine que l'on souhaite puis on affiche les renseignement de la machine a partir de TextBox.
    Voici le code que j'ai pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    private void NomContact_SelectedIndexChanged(object sender, System.EventArgs e)
    		{
    			// Code permettant de remplir le TextBox
    			// correspondant au Numéro de téléphone
    			// Le textBox devient visible 
    			// lorsque la deuxième combo est rempli
    			telContact.Visible=true;
    			SqlConnection connection;
    			SqlCommand command;
    			SqlDataReader rader;
     
    			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
    			command = new SqlCommand("SELECT CT_TELCTACT FROM CONTACT WHERE CT_NOMCTACT='" + NomContact.Text + "'", connection);
    			connection.Open();
    			try
    			{
    				rader = command.ExecuteReader();
    				try
    				{
    					while (rader.Read()) 
    						telContact.Text = Convert.ToString(rader["CT_TELCTACT"]);
    				}
    				finally
    				{
    					rader.Close();
    				}
    			}
    			finally
    			{
    				connection.Close();
    			}  
     
    			// Code permettant de remplir la comboBox
    			// correspondant au Nom des machines
    			// La comboBox devient visible 
    			// lorsque la deuxième combo est rempli
    			NomMachine.Visible=true;
    			connection = new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");
    			command = new SqlCommand("SELECT M_NOMMAT FROM MACHINE, CONTACT WHERE MACHINE.M_NUMCTACT=CONTACT.CT_NUMCTACT AND CT_NOMCTACT='" + NomContact.Text + "'", connection);
    			connection.Open();
    			try
    			{
    				rader = command.ExecuteReader();
    				try
    				{
    					while (rader.Read()) 
    						NomMachine.Items.Add(Convert.ToString(rader["M_NOMMAT"]));
    				}
    				finally
    				{
    					rader.Close();
    				}
    			}
    			finally
    			{
    				connection.Close();
    			}   
    		}
    Mon problème se situe au niveau de traduire par le code "si la combo NomMachine est vide".

    Comment puis-je traduire cela??

    Merci d'avance

  2. #2
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    "Count" signifie compter donc je vois pas comment traduire ma phrase "si la combo NomMachine est vide"

    merci d'avance

  4. #4
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Pour moi quand c'est vide ça veut dire qu'il y a zéro éléments !!

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    voila mon bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (NomMachine.Items.Count(rader["M_NOMMAT"]= 0)
    				NomUtMachine.Visible=true;
    				ConfigMachine.Visible=true;
    mais cela me met une erreur :
    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(362): ) attendu
    Merci d'avance!!

  6. #6
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Il te donne la réponse !! Il te manque une parenthèse fermante...

    = c'est une affectation
    == c'est un test

    Si tu veux que ton if fonctionne pour les 2 instructions suivantes il faut que tu les mette entre {}

    Et puis essaye de chercher un minimum avant de poster (google, msdn, ...). Savoir si ta combo est vide tu aurais pu trouver tout seul en cherchant sur le net.

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Mais je cherche, je cherche, ji suis depuis plus d'1h mais vu que j'ai du mal a trouver je demande de l'aide, il me semble qu'un forum c'est fé pr ca!!

    Enfin pour revenir a mon truc, j'ai rajouté 2-3choses mais toujours problèmes (je crois que mon problème kiff me donner des problèmes):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (NomMachine.Items.Count(rader["M_NOMMAT"]==0))
    			{
    				NomUtMachine.Visible=true;
    				ConfigMachine.Visible=true;
    			}
    L'erreur est la suivante :
    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): L'opérateur '==' ne peut pas être appliqué aux opérandes de type 'object' et 'int'
    donc il me souligne en bleu merci d'avance

  8. #8
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Pourquoi tu passes par le reader? Travaille sur la combo
    Ton erreur : tu compares 0 avec l'objet lu et non avec le count, la parenthèses sont mal situées

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    Je penser qu'il fallait que j'utilise le "reader" car ça fonctionné pas sinon.

    J'ai beau mettre les parenthèse avant le "==0" ça fonctionne quand même pas.
    Lorsque j'essaye cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (NomMachine.Items.Count(["M_NOMMAT"]))==0
    ça m'affiche des erreurs qui sont :
    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ']'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide '['

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ')'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ')'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ) attendu
    Et si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (NomMachine.Items.Count(["M_NOMMAT"])==0)
    ça m'affiche les erreurs suivantes :
    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ) attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): ; attendu

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ')'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ')'

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide '['

    C:\Documents and Settings\Propriétaire\Mes documents\Visual Studio Projects\SuiviClient_Distrib'Info\NouvelleIntervention.cs(359): Terme d'expression non valide ']'
    merci d'avance

  10. #10
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Si tu lisais la doc tu verrais que Count est une propriété, et non une fonction, donc ça ne prend pas de paramètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (tonCombo.Items.Count == 0) {}

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à LaNat
    J'avoue je n'ai même pas pensé pour une fois a regarder ce qui est "Count" (fonction ou autre) car je me suis dit que je savais ce que cela voulais dire.

    Une dernière question, si le contact a déja des machines mais qu'on veux en rentrer une nouvelle et qu'ensuite on affiche les TextBox (ConfigMachine...).
    Comment peux-ton faire pour afficher les TextBox dans ce cas là??
    (car pour le moment, si je décide de rentrer une nouvelle machine dans la combo, les textBox suivante ne s'ouvre pas.)

    Merci beaucoup pour tout!!

  12. #12
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    En fait c'est bon, j'ai trouvé une solution a mon problème c'est à dire que j'ai mit la config, le nomUt... a devenir visible en même temps que la combo NomMachine.

    Merci beaucoup LaNat pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème sur les critères de filtre avec une variable dans Array
    Par badege3378 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/08/2014, 11h36
  2. Ajouter des liens sur des mots clefs contenu dans une div
    Par Nementon dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/05/2010, 11h32
  3. Réponses: 14
    Dernier message: 15/01/2009, 09h54
  4. Réponses: 3
    Dernier message: 19/07/2007, 15h46
  5. Réponses: 3
    Dernier message: 30/03/2007, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo