Erreur de syntaxe dans linstruction INSERT INTO
Delivel
Messages postés
10
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour je suis Delivel, débitant en Visual basic. Je vous remercie d’avance pour votre aide.
J’ai une listbox alimentée par une base de données Access ‘’Nom.mdb’’ qui contient la table FichePatient, contenant les champs Nom, Prénom, Nombre, et aussi des boutons modifier, ajouter et supprimer un enregistrement me permettent de gérer cette base et deux Textbox Nom et Prénom. Mais je travaille d’abord sur le cham Nom(qui est affiché sur la listbox)
Mes Problèmes :
1. En premier, Le bouton enregistrer me renvoi l’erreur suivante (conforme à l’image) :

2. En second, Quand je supprime un élément de la listbox, le bouton modifier ne modifie plus l’élément sélectionné mais modifie un autre élément dans la listbox. C’est pourquoi, j’ai ensuite vérifié dans la base de données les valeurs du champ Numéro qui, s’incrémentait automatiquement de 1, mais présente maintenant des vides c'est-à-dire le numéro de la ligne supprimer ne figure plus dans le champ Nombre. Ici j’ai supprimé les éléments 3 et 4 ce qui donne dans la base de données les nombres 1, 2, 5, 6,7 dans cet ordre. En effet, Je pense qu’il ne prend pas en compte les suppressions pour reprendre l’incrémenter de 1 pour chaque enregistrement dans la base de données après suppression d’un élément dans la listbox.
Mon but : Utiliser ses trois boutons afin de Gérer ma Base de données Access depuis une application Visual basic.
NB : Dans ce code ci-dessous :
Boutton1: Modifier
Boutton2: Ajouter un enregistrement
Boutton3 : Supprimer
Voici mon Code en entier:
Merci beaucoup de bien vouloir me donner un coup de main.
J’ai une listbox alimentée par une base de données Access ‘’Nom.mdb’’ qui contient la table FichePatient, contenant les champs Nom, Prénom, Nombre, et aussi des boutons modifier, ajouter et supprimer un enregistrement me permettent de gérer cette base et deux Textbox Nom et Prénom. Mais je travaille d’abord sur le cham Nom(qui est affiché sur la listbox)
Mes Problèmes :
1. En premier, Le bouton enregistrer me renvoi l’erreur suivante (conforme à l’image) :

2. En second, Quand je supprime un élément de la listbox, le bouton modifier ne modifie plus l’élément sélectionné mais modifie un autre élément dans la listbox. C’est pourquoi, j’ai ensuite vérifié dans la base de données les valeurs du champ Numéro qui, s’incrémentait automatiquement de 1, mais présente maintenant des vides c'est-à-dire le numéro de la ligne supprimer ne figure plus dans le champ Nombre. Ici j’ai supprimé les éléments 3 et 4 ce qui donne dans la base de données les nombres 1, 2, 5, 6,7 dans cet ordre. En effet, Je pense qu’il ne prend pas en compte les suppressions pour reprendre l’incrémenter de 1 pour chaque enregistrement dans la base de données après suppression d’un élément dans la listbox.
Mon but : Utiliser ses trois boutons afin de Gérer ma Base de données Access depuis une application Visual basic.
NB : Dans ce code ci-dessous :
Boutton1: Modifier
Boutton2: Ajouter un enregistrement
Boutton3 : Supprimer
Voici mon Code en entier:
Imports System
ImportsSystem.Data
ImportsSystem.Data.OleDb
PublicClassForm1
PrivateObjetConnectionAsOleDbConnection
PrivateObjetCommandAsOleDbCommand
PrivateObjetDataAdapterAsOleDbDataAdapter
PrivateObjetDataSetAsNewDataSet()
PrivatestrSqlAsString
PrivateObjetDataTableAsDataTable
PrivateObjetDataRowAsDataRow
PrivateRowNumberAsInteger
PrivatestrConnAsString
PrivateObjetCommandBuilderAsOleDbCommandBuilder
PrivateSub Form1_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) HandlesMyBase.Load
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source=C:\A effacer\MyDataBase.mdb;"
strSql = "SELECT NomPatient.* FROM NomPatient"
ObjetConnection = NewOleDbConnection()
ObjetConnection.ConnectionString = strConn
ObjetConnection.Open()
ObjetCommand = NewOleDbCommand(strSql)
ObjetDataAdapter = NewOleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
ObjetDataTable = ObjetDataSet.Tables("NomPatient")
ListBox1.DataSource = ObjetDataSet.Tables("NomPatient")
ListBox1.DisplayMember = "Nom"
NumeroInterne(RowNumber)
EndSub
PrivateSub ListBox1_SelectedIndexChanged(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles ListBox1.SelectedIndexChanged
ListBox1.DataSource = ObjetDataSet.Tables("NomPatient")
ListBox1.DisplayMember = "Nom"
ListBox1.ValueMember = "Nombre"
RowNumber = ListBox1.SelectedValue
NumeroInterne(RowNumber)
EndSub
PrivateSub Button1_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click
ObjetDataRow = ObjetDataSet.Tables("NomPatient").Rows(RowNumber - 1)
ObjetDataRow("Nom") = Me.Nom.Text
ObjetDataRow("Prénom") = Me.Prénom.Text
ObjetCommandBuilder = NewOleDbCommandBuilder(ObjetDataAdapter)
ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
ObjetDataTable = ObjetDataSet.Tables("NomPatient")
EndSub
PrivateSub Button2_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click
ObjetDataRow = ObjetDataSet.Tables("NomPatient").NewRow()
ObjetDataRow("Nom") = Me.Nom.Text
ObjetDataRow("Prénom") = Me.Prénom.Text
ObjetDataSet.Tables("NomPatient").Rows.Add(ObjetDataRow)
ObjetCommandBuilder = NewOleDbCommandBuilder(ObjetDataAdapter)
ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "NomPatient")
ObjetDataTable = ObjetDataSet.Tables("NomPatient")
EndSub
PrivateSub Button3_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles Button3.Click
ObjetDataSet.Tables("NomPatient").Rows(RowNumber).Delete()
ObjetCommandBuilder = NewOleDbCommandBuilder(ObjetDataAdapter)
ObjetDataAdapter.Update(ObjetDataSet, "NomPatient")
EndSub
EndClass
Merci beaucoup de bien vouloir me donner un coup de main.
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Erreur de syntaxe dans linstruction INSERT INTO
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Touche insert sur clavier portable hp ✓ - Forum Clavier
- Touche inser sur elite book hp - Forum PC portable
1 réponse
Bonjour,
pour ce que tu veux faire, il vaut mieux employer une DataGridview.
Voir ici de nombreux exemples à télécharger:
https://codes-sources.commentcamarche.net/source/list/visual-basic-vb-net-1/17-base-de-donnees/last
pour ce que tu veux faire, il vaut mieux employer une DataGridview.
Voir ici de nombreux exemples à télécharger:
https://codes-sources.commentcamarche.net/source/list/visual-basic-vb-net-1/17-base-de-donnees/last