Relation dans une bdd access

inraf Messages postés 104 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 15 novembre 2012 - 31 oct. 2008 à 04:32
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009 - 31 oct. 2008 à 07:39
salut


j'ai un problème avec ma base de donnée


 


je voudrais ajouter une ligne pour ça pas de problème.


mais lorsque je veus ecrire une ligne dans une bdd (access) qui a une relation ça ne va plus???


j'ai comme erreure (Erreur de syntaxe dans l'instruction INSERT INTO.)

Voici un bout de mon code



Private



Sub
Button1_Click(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
Button1.Click




'Ouverture BD Panne








'Initialisation de la chaŒne de paramŠtres pour la connexion

strConn =




"Provider=Microsoft.Jet.OLEDB.4.0;"
&

"Data Source= L:\Technique\bdtechnique.mdb;"






'Initialisation de la chaŒne contenant l'instruction SQL

strSql =




"SELECT Pr‚ventifs.* FROM Pr‚ventifs"






'Instanciation d'un Objet Connexion

ObjetConnection =




New
OleDbConnection()


'Donner … la propri‚t‚ ConnectionString les paramŠtres de connexion

ObjetConnection.ConnectionString = strConn







'Ouvrir la connexion

ObjetConnection.Open()







'Instancier un objet Commande

ObjetCommand =




New
OleDbCommand(strSql)


'Instancier un objet Adapter

ObjetDataAdapter =




New
OleDbDataAdapter(ObjetCommand)


'initialiser l'objet Command

ObjetCommand.Connection() = ObjetConnection







'Avec l'aide de la propri‚t‚ Fill du DataAdapter charger le DataSet

ObjetDataAdapter.Fill(ObjetDataSet,




"Pr‚ventifs"
)


'Mettre dans un Objet DataTable une table du DataSet

ObjetDataTable = ObjetDataSet.Tables(




"Pr‚ventifs"
)


If
RowNumber < 0

Then



Exit



Sub






'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement






If
RowNumber > ObjetDataTable.Rows.Count - 1

Then



Exit



Sub






'Indiquer au ListBox d'afficher la table "fichepatient" (indiquer la source)












'






'






'






'Pour ecrir une nouvelle ligne dans la BD

ObjetDataRow = ObjetDataSet.Tables(




"Pr‚ventifs"
).NewRow()ObjetDataRow(


"Num‚ros"
) = Numeros.TextObjetDataRow(


"Nommachine"
) = Machine.TextObjetDataRow(


"cycle"
) = TextBox1.TextObjetDataRow(


"D‚finition"
) = TextBox2.TextObjetDataRow(


"Action"
) = TextBox3.TextObjetDataRow(


"semaine1"
) = CheckBox1.TextObjetDataRow(


"semaine2"
) = CheckBox2.TextObjetDataRow(


"semaine3"
) = CheckBox3.TextObjetDataRow(


"semaine4"
) = CheckBox4.TextObjetDataRow(


"semaine5"
) = CheckBox5.TextObjetDataRow(


"semaine6"
) = CheckBox6.TextObjetDataSet.Tables(


"Pr‚ventifs"
).Rows.Add(ObjetDataRow)


'Pour modifier les valeurs chang‚es dans le DataAdapter

ObjetCommandBuilder =




New
OleDbCommandBuilder(ObjetDataAdapter)


'Mise … jour

ObjetDataAdapter.Update(ObjetDataSet,




"Pr‚ventifs"
)


'On vide le DataSet et on le 'recharge' de nouveau.

ObjetDataSet.Clear()


ObjetDataAdapter.Fill(ObjetDataSet,




"Pr‚ventifs"
)ObjetDataTable = ObjetDataSet.Tables(


"Pr‚ventifs"
)


End



Sub

Merci

3 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
31 oct. 2008 à 05:58
Bonjour,

Dim MyCommandBuilder1 AsNew OleDbCommandBuilder(MyDataAdapter1)

                MyDataRow1 = MyDataset1.Tables("Preventifs").NewRow()
                'On permet l'écriture
                ''''''''''' on entre les nouvelles valeurs '''''''''''
                MyDataRow1("Numeros") = Numeros.Text 
                MyDataRow1("Nommachine") = Machine.Text 
                MyDataRow1("cycle") = TextBox1.Text 
                MyDataRow1("Definition") = TextBox2.Text 
                MyDataRow1("Action") = TextBox3.Text 
                MyDataRow1("semaine1") = CheckBox1.Text
                MyDataRow1("semaine2") = CheckBox2.Text
                MyDataRow1("semaine3") = CheckBox3.Text
                MyDataRow1("semaine4") = CheckBox4.Text
                MyDataRow1("semaine5") = CheckBox5.Text
                MyDataRow1("semaine6") = CheckBox6.Text
               MyDataset1.Tables("Preventifs").Rows.Add(MyDataRow1)
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''
                'et on met à jour
                MyDataAdapter1.Update(MyDataset1, "Preventifs")
                MyDataset1.Clear()
                MyDataAdapter1.Fill(MyDataset1, "Preventifs")
                MyDataTable1 = MyDataset1.Tables("Preventifs")
                MyConnexion.Close()

--> le soucis c'est qu'il faudrait éviter les caractères spéciaux regarde le nom de ta table "Pr,ventifs" ne peux tu pas modifier simplement en "Preventifs"? De même que pour les noms de tes champs... Vériie s'il n'y a pas d'erreur d'orthographe majuscule etc... et retire les accents c'est peut etre ca qui te pose problème
 

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
inraf Messages postés 104 Date d'inscription samedi 5 juillet 2008 Statut Membre Dernière intervention 15 novembre 2012
31 oct. 2008 à 06:25
Tu es bien matinal.


je te remercie de ta réponse, mais le bout du code que tu m'as donnée ne marche pas je n'ai pas déclaré OleDbCommandBuilder......... je crois (je suis débutant)


tu penses que lorsqu'on a une relation dans la bdd même il n'a pas de problème pour écrire ?

ou si tu as un code plus complet c'est encor mieux.

J'ai supprimé  les accents et controlé l'orthographe et toujours pas bon.

A+
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
31 oct. 2008 à 07:39
Re:
Matinale oui je commence à 5h00 :)
Pour ton problème tu me dis que tu n'as pas déclaré oleDbCommandBuilder... Je ne programme pas en .net mais je vais tenter...
Tu ne peux pas rajouter des références??? afin de le déclarer???

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
Rejoignez-nous