Requête sur base acces

cs_roro69 65 Messages postés vendredi 27 décembre 2002Date d'inscription 9 janvier 2018 Dernière intervention - 4 mars 2017 à 18:03 - Dernière réponse : cs_roro69 65 Messages postés vendredi 27 décembre 2002Date d'inscription 9 janvier 2018 Dernière intervention
- 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
--
Afficher la suite 

5 réponses

Répondre au sujet
Whismeril 10875 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 janvier 2018 Dernière intervention - 4 mars 2017 à 18:18
0
Utile
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é.
Commenter la réponse de Whismeril
cs_Le Pivert 4835 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 24 janvier 2018 Dernière intervention - 4 mars 2017 à 18:51
0
Utile
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 & "')"

Commenter la réponse de cs_Le Pivert
cs_roro69 65 Messages postés vendredi 27 décembre 2002Date d'inscription 9 janvier 2018 Dernière intervention - 4 mars 2017 à 19:18
0
Utile
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é
--
Commenter la réponse de cs_roro69
Whismeril 10875 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 janvier 2018 Dernière intervention - 4 mars 2017 à 19:39
0
Utile
Alors tu n'as pas un & qui traine dans tes textbox?
Commenter la réponse de Whismeril
cs_roro69 65 Messages postés vendredi 27 décembre 2002Date d'inscription 9 janvier 2018 Dernière intervention - 4 mars 2017 à 19:51
0
Utile
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é
Commenter la réponse de cs_roro69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.