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

VB.NET Discussion :

Erreur paramétre n'a pas de valeur par défaut" pour une requette Insert a partir d'un adaptater


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 42
    Points
    42
    Par défaut Erreur paramétre n'a pas de valeur par défaut" pour une requette Insert a partir d'un adaptater
    Bonjour,

    Aprioris, je me suis trompé dans mon code mais je ne vois pas mon erreur. Je souhaite mettre a jour une base Access mais j'ai le message d'erreur suivant :
    Le paramètre_1? n'a pas de valeur par défaut.
    voici mon code :
    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
     
    txt_sql = "SELECT * FROM T_Mots ;"
            Dim CdeSelectMot As New OleDb.OleDbCommand(txt_sql, ConnectionBase)
            Dim DAdaptMots As New OleDb.OleDbDataAdapter(CdeSelectMot)
            txt_sql = "INSERT INTO T_Mots (Mot, DateSaisie) VALUES (?,?);"
            Dim CdeInsertMot As New OleDb.OleDbCommand(txt_sql, ConnectionBase)
            CdeInsertMot.Parameters.Add(New OleDb.OleDbParameter("Param1", OleDb.OleDbType.LongVarWChar, 0, "Mot"))
            CdeInsertMot.Parameters.Add(New OleDb.OleDbParameter("Param2", OleDb.OleDbType.Date, 0, "DateSaisie"))
            DAdaptMots.InsertCommand = CdeInsertMot
    |
    |
    |
                     'verifier que le mot fait partie de la liste des mots EXCLU
                    DateSaisie = Now
     
                    LigneResultat = DTableMotExclus.Select("Mot_Exlu like '" & mot_trouve & "'")
     
                    If LigneResultat.Count = 0 Then
                        'verifie que le mot fait partie de la liste des mots 
                        LigneResultat = DTableMots.Select("Mot like '" & mot_trouve & "'")
     
                        If LigneResultat.Count = 0 Then
                            LigneMot = DTableMots.NewRow()
                            LigneMot("Mot") = mot_trouve '(LigneResultat(0).Item(0))
                            LigneMot("DateSaisie") = Format(DateSaisie, "dd/MM/yyyy")
                            DTableMots.Rows.Add(LigneMot)
                        End If
     
                    End If
     
            DAdaptMots.Update(DataSetSGActeMot, "T_Mots")
    Merci de m'eclairer l'esprit.

    Bonne journée
    M. Brun

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 42
    Points
    42
    Par défaut [Résolu]
    Bonjour,

    J'ai trouvé la solution. C'était bien une erreur de ma part. Sur une partie du code entre le parametrage de DAdaptMots et la mise en charge de la Table part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     DAdaptMots.Fill(DataSetSGActeMot, "T_Mots")
    Il y avait une ligne erronné qui changé le parametrage de la commande Insert de DAdapMots part une autre commande.

    Voici le code complet qui fonctionne, si cela peut servir à quelqu'un :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
            Dim caratere_autorise As String = " ABCDEFGHIJKLMNOPQRSTUVWXYZéèçàêâûùîôyÄËÏÏÜäëïöüÂÊÎÔÛù"
     
     
    txt_sql = "SELECT * FROM T_Mots ;"
            Dim CdeSelectMot As New OleDb.OleDbCommand(txt_sql, ConnectionBase)
            Dim DAdaptMots As New OleDb.OleDbDataAdapter(CdeSelectMot)
            txt_sql = "INSERT INTO T_Mots (Mot, DateSaisie) VALUES (?,?);"
            Dim CdeInsertMot As New OleDb.OleDbCommand(txt_sql, ConnectionBase)
            CdeInsertMot.Parameters.Add(New OleDb.OleDbParameter("Param1", OleDb.OleDbType.LongVarWChar, 0, "Mot"))
            CdeInsertMot.Parameters.Add(New OleDb.OleDbParameter("Param2", OleDb.OleDbType.Date, 0, "DateSaisie"))
            DAdaptMots.InsertCommand = CdeInsertMot
     
     ConnectionBase.Open()
            DAdaptMots.Fill(DataSetSGActeMot, "T_Mots")
            DAdaptMotsDuDoc.Fill(DataSetSGActeMot, "T_Mots_Du_Doc")
            DAdaptMotsExlus.Fill(DataSetSGActeMot, "T_Mots_Exlus")
            ConnectionBase.Close()
     
        Dim DTableMots As DataTable = DataSetSGActeMot.Tables("T_Mots")
     
      Dim LigneResultat() As DataRow
            Dim LigneMot As DataRow
            Dim LigneMotDuDoc As DataRow
     
    For b = 1 To Len(RTB_resumé.Text)
                c = InStr(UCase(caratere_autorise), UCase(Mid(RTB_resumé.Text, b, 1)))
                If c = 0 Then
                    Mid(RTB_resumé.Text, b, 1) = " "
                End If
            Next
     
            '------- anticipé
            'retrait du point cad ". "
            c = InStr(RTB_resumé.Text, ". ", CompareMethod.Text)
            Do While c > 0
                Mid(RTB_resumé.Text, c, 1) = "  "
                c = InStr(RTB_resumé.Text, ". ", CompareMethod.Text)
            Loop
     
            'mise ne minuscule
            RTB_resumé.Text = UCase(RTB_resumé.Text)
     
            ' supression des mots indesirable
     
     
            RTB_resumé.Text = LTrim(RTB_resumé.Text)
            RTB_resumé.Text = RTB_resumé.Text & " "
            Form1.RTB_Origine.Text = RTB_resumé.Text
            '-----traitement des mots restant
     
            'recherche de la pertinence des mots restant (nbre de fois present)
            Do While Len(RTB_resumé.Text) > 0
                'Traitement des mot inconnu à la base
                c = InStr(RTB_resumé.Text, " ", CompareMethod.Text)
                If c > 1 Then
     
                    mot_trouve = Mid(RTB_resumé.Text, 1, c - 1)
                    a = ""
                    For d = 1 To Len(mot_trouve)
                        a = a & " "
                    Next
                    Mid(RTB_resumé.Text, 1, Len(mot_trouve)) = a
                    a = a & "  "
                    c = InStr(RTB_resumé.Text, " " & mot_trouve & " ", CompareMethod.Text)
                    Do While c > 0
                        Mid(RTB_resumé.Text, c, Len(mot_trouve) + 2) = a
                        c = InStr(RTB_resumé.Text, " " & mot_trouve & " ", CompareMethod.Text)
                    Loop
                    mot_trouve = UCase(mot_trouve)
     
                    'verifier que le mot fait partie de la liste des mots EXCLU
                    DateSaisie = Now
     
                    LigneResultat = DTableMotExclus.Select("Mot_Exlu like '" & mot_trouve & "'")
                    If LigneResultat.Count = 0 Then
                        'verifie que le mot fait partie de la liste des mots 
                        LigneResultat = DTableMots.Select("Mot like '" & mot_trouve & "'")
                        If LigneResultat.Count = 0 Then
                            LigneMot = DTableMots.NewRow()
                            LigneMot("Mot") = mot_trouve '(LigneResultat(0).Item(0))
                            LigneMot("DateSaisie") = Format(DateSaisie, "dd/MM/yyyy H:mm:ss")
                            DTableMots.Rows.Add(LigneMot)
     
                        End If
                    End If
                End If
                RTB_resumé.Text = LTrim(RTB_resumé.Text)
            Loop
            LigneResultat = DTableMots.Select("", "", DataViewRowState.Added)
            'For Each LigneMot In LigneResultat
            '    MsgBox(LigneMot("Mot"))
            '    MsgBox(LigneMot("DateSaisie").ToString)
     
            'Next
     
            'DAdaptMots.Update(DataSetSGActeMot, "T_Mots")
            DAdaptMots.Update(LigneResultat)
    Bonne journée

    M. Brun

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/08/2014, 16h45
  2. vérification combobox n'est pas la valeur par défaut
    Par supertotal dans le forum Zend_Form
    Réponses: 3
    Dernier message: 10/02/2012, 00h17
  3. [2008] Paramètre multi-sélection avec certaines valeurs par défaut.
    Par Saintelaitlait dans le forum SSRS
    Réponses: 0
    Dernier message: 02/12/2011, 18h04
  4. [ADO, Access]_Paramètre ?_2 n'a pas de valeur par défaut?
    Par Gdal dans le forum Accès aux données
    Réponses: 1
    Dernier message: 04/03/2008, 22h19
  5. Valeur par défaut lié a une table
    Par Alpha31 dans le forum Access
    Réponses: 2
    Dernier message: 18/05/2006, 20h27

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