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 :

Impossible d'ajouter une valeur dans une base de données Access


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 9
    Points
    9
    Par défaut Impossible d'ajouter une valeur dans une base de données Access
    Bonjour,

    Je suis en train de développer actuellement un logiciel de gestion, qui utilise une base données Access. J'ai réussi à trouver sur Internet, le code pour ajouter des valeurs dans la base de données à partir de TextBox. Mais j'ai un problème, lorsque j'exécute mon logiciel et que je cliquer sur le bouton, une erreur s'affiche en disant: "La référence d'objet n'est pas définie à une instance d'un objet". De plus, Visual Studio me surligne une ligne de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtr = dts.Tables.Item("Table1").NewRow
    Je vous mets bien évidemment le code entier:
    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
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    Imports Microsoft.VisualBasic
     
    Public Class Form3
     
        Dim cnx As OleDbConnection
        Dim cmd As OleDbCommand
        Dim dta As OleDbDataAdapter
        Dim dts As New DataSet
        Dim dtt As DataTable
        Dim dtr As DataRow
        Dim rownum As Integer
        Dim cnxstr As String
        Dim cmdb As OleDb.OleDbCommandBuilder
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
     
     
            If TextBox1.Text = "" Or TextBox2.Text = "" Then
                MsgBox("Veuillez remplir toutes les informations !", vbOKOnly + vbExclamation, "Erreur")
            Else
     
                Panel1.Visible = False
                Panel2.Visible = True
            End If
     
        End Sub
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Me.Close()
        End Sub
     
     
        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            If ComboBox1.Text = "" Then
                MsgBox("Veuillez remplir l'information !", vbOKOnly + vbExclamation, "Erreur")
            Else
                Panel2.Visible = False
                Panel3.Visible = True
            End If
        End Sub
     
        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            If TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Or TextBox3.Text = "" Then
                MsgBox("Veuillez remplir toutes les informations !", vbOKOnly + vbExclamation, "Erreur")
     
            Else
     
                'création d'une nouvelle ligne avec les données des textbox
                dtr = dts.Tables.Item("Table1").NewRow
                dtr("Nom") = TextBox1.Text
                dtr("Prénom") = TextBox2.Text
                dtr("Age") = TextBox4.Text
                dtr("Rang") = ComboBox1.Text
                dtr("Pays") = TextBox3.Text
                dtr("Adresse e-mail") = TextBox5.Text
                dtr("Console") = ComboBox2.Text
                dtr("Skype") = TextBox6.Text
     
     
                'ajout de la ligne dans le DataSet      
                dts.Tables("Table1").Rows.Add(dtr)
     
                'création et exécution du commandbuilder pour mettre à jour le DataAdapter      
                cmdb = New OleDbCommandBuilder(dta)
     
                'mise à jour des données du dataadapter (dta) à partir du commandbuilder (cmdb)      
                dta.Update(dts, "Table1")
     
                'on vide le dataset pour le recréer avec les nouvelles données       
                dts.Clear()
                dta.Fill(dts, "Table1")
                dtt = dts.Tables("Table1")
     
                Form1.Panel1.Visible = True
                Me.Hide()
            End If
     
        End Sub
     
        Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            cnxstr = "provider = microsoft.jet.oledb.4.0 ; data source = data.mdb;"
            cnx = New OleDbConnection
            cnx.ConnectionString = cnxstr
            cnx.Open()
     
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox6.Clear()
            ComboBox1.Text = ""
            ComboBox2.Text = ""
     
            If My.Settings.TeamPlateforme = "Console" Then
                ComboBox2.Visible = False
            End If
        End Sub
     
     
     
    End Class
    J'ai essayé d'enlever cette ligne de code mais sans aucun succès !
    Pouvez-vous m'aider ?

    Merci,
    Mael

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    Salut

    Dans ton formload tu ne charge pas ton dataset et tu dois fermer ta connection ensuite

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Mario Rousson Voir le message
    Salut

    Dans ton formload tu ne charge pas ton dataset et tu dois fermer ta connection ensuite
    Finalement, j'ai résolu le problème ! Merci comme même pour votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 0
    Dernier message: 03/08/2010, 16h05
  3. Probleme d'ajout d'une date dans un base de donnée access(conversion)
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 20/01/2008, 12h27
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Réponses: 1
    Dernier message: 25/09/2006, 17h15

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