Logiciel de rapport - Problème de conversion

[Résolu]
Signaler
-
 Foxaltex -
Bonjour à tous !

Je viens de finir le tutoriel sur les bases de données de notre chère ami Mayyz et j'ai un petit problème pour l'adapter à mes besoins...

Je tente de créer un logiciel qui me permettrait de rentrer des rapports grâce à des comboBox et textBox et de créer un button "Enregistrement" qui me permettrait de créer une nouvelle ligne dans ma base de donnée, avec poour chaque comboBox et textBox une correspondance à une cellule de la ligne de ma table... Et j'ai un problème sur une ligne de code, que voici :

'Appel de la méthode Insert de notre TableAdapter en passant en paramètres toutes les données à insérer.
        DemandeTableAdapter.Insert(, DateTimePicker1, TextBox2, ComboBox1, ComboBox4, ComboBox5, ComboBox6, ComboBox3, ComboBox2, TextBox1)

qui m'affiche 10 erreurs, l'une étant

Argument non spécifié pour le paramètre 'ID' de 'Public Overridable Overloads Function Insert(ID As Integer, DateDeLaDemande As String, HeureDeLaDemande As String, NomDuDemandeur As String, Ilot As String, Machine As String, SousEnsemble As String, EffetSurLaProduction As String, TechnologieDuProbleme As String, Remarque As String) As Integer'.

et les neuf autres me précisant que :

Impossible de convertir une valeur de type 'System.Windows.Forms.ComboBox(ou textBox)' en 'String'.

Quelqu'un peut il m'aider ???

2 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Bonjour,

Pour la première erreur, c'est que tu n'a pas mis le premier argument de la fonction.
Comme c'est un ID, j'imagine que tu souhaite qu'il soit automatique. Regarde si il y a d'autres méthodes d'insertions où l'on ne précise pas l'ID.

Pour la seconde erreur, c'est comme c'est dit, tu renseigne les objets (ComboBox ou TextBox) au lieu de leurs contenu.
Modifie en TextBoxX.Text et ComboBoxX.SelectedItem.ToString()

_____________
Kenji
Bonjour,

Merci pour les infos, j'ai pus corriger et ça à l'air de marcher... Ou pas ^^' Car j'ai entré un Error Provider dans ma page et je l'ai déclaré en "Object". Quand je tente de le mettre à zéro "EP.Clear", j'ai un arrêt complet du logiciel quand je le lance...

J'ai un autre problème qui survient, sur ma page "Demande". Je remplis la page en écrivant dans les textBox et je choisis le terme dans mes comboBox, et j'appuie sur le bouton "Enregister" que j'ai créé... Et d'une ça ne m'enregistre rien sur ma table prévu à cette effet, et de deux, lorsque je ferme la page et que je reviens dessus plus tard pour écrire une nouvelle demande, ça me raffiche ce que j'avais remplis la fois d'avant ^^' Je vous mets mes lignes de code pour enregistrer et mettre ma base de donnée à jour tout en créant une nouvelle ligne dans la table (en cliquant sur le bouton "Button1_Click" avec les messages d'erreur si un champ n'a pas été saisi) ci dessous, et je vous tiens au courant de mes avancés si je trouve l'erreur :


    'Enregistrement de la demande dans la base de donnée "GMAO2"
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Création d'une instance de notre TableAdapter.
        Dim DemandeTableAdapter As New DataSet1TableAdapters.DemandeTableAdapter

        'Création d'une instance de notre table associé.
        Dim Demande As New DataSet1.DemandeDataTable

        'Appel de la méthode GetData de notre instance de TableAdapter pour le remplissage de la table.
        Demande = DemandeTableAdapter.GetData

        'Appel de la méthode Insert de notre TableAdapter en passant en paramètres toutes les données à insérer.
        DemandeTableAdapter.InsertQuery(DateTimePicker1.Text, TextBox2.Text, ComboBox1.Text, ComboBox4.Text, ComboBox5.Text, ComboBox6.Text, ComboBox3.Text, ComboBox2.Text, TextBox1.Text)

        'Gestion des erreurs de saisie
        Dim HasError As Boolean = False

        EP.Clear()

        If DateTimePicker1.Text.Length = 0 Then
            EP.SetError(DateTimePicker1, "Le champ ""Date de la demande"" ne peut être vide !")
            HasError = True
        End If

        If TextBox1.Text.Length = 0 Then
            EP.SetError(TextBox1, "Le champ ""Heure de la demande"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox1.Text.Length = 0 Then
            EP.SetError(ComboBox1, "Le champ ""Nom du demandeur"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox4.Text.Length = 0 Then
            EP.SetError(ComboBox4, "Le champ ""Ilot"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox5.Text.Length = 0 Then
            EP.SetError(ComboBox5, "Le champ ""Machine"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox6.Text.Length = 0 Then
            EP.SetError(ComboBox6, "Le champ ""Sous Ensemble"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox3.Text.Length = 0 Then
            EP.SetError(ComboBox3, "Le champ ""Effet sur la production"" ne peut être vide !")
            HasError = True
        End If

        If ComboBox2.Text.Length = 0 Then
            EP.SetError(ComboBox2, "Le champ ""Technologie du problème"" ne peut être vide !")
            HasError = True
        End If

        If TextBox1.Text.Length = 0 Then
            EP.SetError(TextBox1, "Le champ ""Remarque"" ne peut être vide !")
            HasError = True
        End If

        If HasError Then
            Exit Sub
        End If

    End Sub