Requête sur base acces

cs_roro69 Messages postés 70 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 29 septembre 2018 - 4 mars 2017 à 18:03
cs_roro69 Messages postés 70 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 29 septembre 2018 - 4 mars 2017 à 19:51
Bonjour, et merci pour l'aide apporter et le temps consacré
Voici mon problème
J'exécute une requête sur une base Access comme suit

If recUPID.IdFiche = 0 Then
MessageBox.Show("Aucune Recette chargé", "le Fourneau", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
End If
Try
ajrecette.Myreq = "INSERT INTO Ingredient ( FicheID, LstingID, quantite, unite )values(" & recUPID.IdFiche & "," & recUPID.IdIng & ",'" & TextBox2.Text & "','" & ComboBox3.SelectedItem & "')"
ajrecette.Connecting_Up()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If ConnectionState.Open Then
ajrecette.Deconnecteadapt()
End If
End Try

J'ai en retour cette erreur:

L'opérateur '&' n'est pas défini pour chaîne "INSERT INTO Ingredient (FicheID" et type 'DataRowView')


Voilà si quelqu'un pouvait m'indiquer qu'elle solution à apporté
Merci beaucoup
--

5 réponses

Whismeril Messages postés 17828 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 octobre 2022 618
4 mars 2017 à 18:18
Bonjour

Ajoute une ligne string qui construit ta requête.
Mets un point d'arrêt après cette ligne et regarde le résultat de ta construction.
À mon avis entre les " et les ', il doit y avoir un truc mal interprété et un & a été inséré.
0
cs_Le Pivert Messages postés 7823 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 30 septembre 2022 134
4 mars 2017 à 18:51
Bonjour à vous 2,

C'est exact Whismeril, il manque des '

 ajrecette.Myreq = "INSERT INTO Ingredient ( FicheID, LstingID, quantite, unite )values('" & recUPID.IdFiche & "','" & recUPID.IdIng & "','" & TextBox2.Text & "','" & ComboBox3.SelectedItem & "')"

0
cs_roro69 Messages postés 70 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 29 septembre 2018
4 mars 2017 à 19:18
bonsoir et merci
J'ai essayé de rajouté les ' mais çà ne change rien ,étant donné que les deux première valeur sont des integer ; les format numériques n'ont pas besoin des ' contrairement au string

Je ne vois vraiment pas ce qu'il y a
J'ai des autres requête telles celle ci après qui fonctionne tout à fait

Try
ajrecette.Myreq = "INSERT INTO Fiche ( TitreRecettes, StypeID, Progression )values('" & Me.TextBox1.Text & "'," & recUPID.IdType & ",'" & Replace(RichTextBoxEx1.rtb.Text, "'", "''") & " ')"
ajrecette.Connecting_Up()
Catch ex As Exception
MsgBox(ex.Message)
Finally
If ConnectionState.Open Then
ajrecette.Deconnecteadapt()

End If
End Try

Je vais continuer à faire des test
En tout cas merci pour vos réponses et de l’intérêt porté
--
0
Whismeril Messages postés 17828 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 octobre 2022 618
4 mars 2017 à 19:39
Alors tu n'as pas un & qui traine dans tes textbox?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_roro69 Messages postés 70 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 29 septembre 2018
4 mars 2017 à 19:51
Bonsoir suite au essai
j'ai testé sur ma base et là Access semble me donner la solution:
Je crée une requête ajout et là impossible d'ajouter des données car
c'est une table avec un champ attaché , on ne peut pas ajouter de données si l'on na pas appelé le champs commun au deux tables
Don j'ai mise a jour la requête
Voici la requête généré par Access ;mais j'ai un peu du mal à comprendre comment la transformer dans la chaîne requête de ado

INSERT INTO Ingredient ( FicheID, LstingID, quantite, unite )
SELECT Ingredient.FicheID, Ingredient.LstingID, Ingredient.quantite, Ingredient.unite
FROM Fiche INNER JOIN Ingredient ON Fiche.FicheID = Ingredient.FicheID;

--Merci si vous avez des idées
Je continue à creuser
En tout cas merci pour tout le temps consacré
0