cs_SEB73460
Messages postés271Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention29 novembre 2022
-
20 janv. 2007 à 14:58
Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 août 2011
-
22 janv. 2007 à 14:05
Salut à tous ,
Voila, je galère depuis plusieurs jours sur ma base de donnée access sur laquelle je n'arrive pas à enregistrer mes données dans cette derniere à l'aide d'un bouton "button9"
J'ai un message du genre : La référence d'objet n'est pas définie à une instance d'un objet
J'ai recopier et etudier le code de plusieurs programmes similaire telecharger sur vbfrance
mais toujours pareil, je débute avec vb2005 et je solicite un peu d'aide ou de conseil pour pouvoir poursuivre dans mes etudes
Je me permets de vous copier mon code :
(Mes remerciements pour votre aide)
Private ConnString
As
String
Private ParamConnexion
As
String
Private rownum
As
Integer
Private SQLString
As
String
Private LviItem
As ListViewItem
Private SUBItems
As ListViewItem.ListViewSubItem
Private objcommand
As OleDbCommand
Private objconnection
As
New OleDbConnection
Private objdataadapter
As OleDbDataAdapter
Private objdataset
As
New Data.DataSet()
Private objdatatable
As DataTable
Private objdatarow
As DataRow
Private objcommandbuilder
As OleDbCommandBuilder
Private
Sub Form11_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
ListView1.Columns.Add(
"PROG").Rows.Add(objdatarow)
Tryobjcommandbuilder New OleDbCommandBuilder(objdataadapter)objdataadapter.UpdateCommand objcommandbuilder.GetUpdateCommand()
objdataadapter.Update(objdataset,
"PROG")
CatchMsgBox(
"Une erreur est survenue pendant la mise … jour." & Chr(13) & Chr(10) & _
"L'op‚ration a ‚chou‚!", MsgBoxStyle.Critical,
"Echec")
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 janv. 2007 à 16:58
Bon alors pour moi, je dirais que ton problème viens du fait que le table "PROG" n'existe pas dans ton DataSet.
En effet dans la fonction ChargeBD, lorsque tu fait objdataadapter.Fill(objdataset)
tu ne donne pas de nom à la table ainsi créée. par défaut elle prend le nom "Table". Mais tu n'est pas obligé d'utiliser son nom pour y acceder. Tu peux aussi utiliser son index, 0 en général.
Alors
- soit tu modifie ton instruction .fill, en donnant un nom à la table : objdataadapter.Fill(objdataset , "PROG")
- soit dans Button9, tu modifie ton code en remplaçant .Tables("PROG") par .Tables(0)
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_SEB73460
Messages postés271Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention29 novembre 2022 20 janv. 2007 à 18:29
Merci beaucoup pour ta reponse Casy
En modifiant mon instruction .fill j'ai l'ouverture de la fenetre du message box et en modifiant mon code dans button9 j'ai le meme probleme
J'ai du mal à comprendre d'ou viens le probleme
Merci encore mille fois pour ton aide
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 janv. 2007 à 19:38
Bon si t'arrive jusqu'au messagebox, c'est que le 1er problème doit etre réglé.
Ensuite, j'avoue que je suis un peu perdu moi aussi, je découvre moi aussi l'utilisation des bases.
Il faudra que tu vois déjà sur quelle ligne est généré l'exception qui fait que t'affiche le messagebox.
essaye de ettre un msgbox(objdataadapter.updatecommand.commandtext) entre les 2 lignes de la clause Try, pour voir la requette qui est générée
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_SEB73460
Messages postés271Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention29 novembre 2022 21 janv. 2007 à 08:38
Merci pour tes reponses casy
Pour ma part, j'ai essayer d'autres codes et toujours pareil
soit message d'erreur soit la reference d'objet n'est pas definie
Je ne comprends pas
je vais reprendre mes cours
A +
Vous n’avez pas trouvé la réponse que vous recherchez ?
Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 août 2011 22 janv. 2007 à 14:05
Salut,
Commence par mettre un point d'arrêt (clique gauche dans la partie gauche grise) sur cette ligneListView1.BeginUpdate()
Exécute ton code. Il s'arrêtera sur cette ligne.
Place ta souris au dessus de "objdataset
".
Tu obtiens une ligne du type.... ObjDataSet | X ........
A la place du X tu as une petite flèche, tu cliques dessus et voir.
Ainsi tu verras si ton DataSet contient une table, le nom de celle ci.....
Dis nous si effectivement ton DataSet contient bien une table....