Requête sur base acces

Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
29 septembre 2018
- - Dernière réponse : cs_roro69
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
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
--
Afficher la suite 

Votre réponse

5 réponses

Messages postés
12381
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
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
Messages postés
5604
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
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
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
29 septembre 2018
0
Merci
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
Messages postés
12381
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 décembre 2018
0
Merci
Alors tu n'as pas un & qui traine dans tes textbox?
Commenter la réponse de Whismeril
Messages postés
70
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
29 septembre 2018
0
Merci
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.