Bonjour,
Je souhaite ajouter une variable dans une requête d'insertion. LE problème
est que j'ai toujours une erreur de syntaxe si je mets des ' ou " autour de
la variable (avec des esperluètes évidemment pour concaténer), ou la
variable est prise pour un champ si je ne mets rien.
If (Len([Commentaire compte]) = "") Then
commentaire_archivage = [Commentaire compte] & "Compte supprimé (1)
le " & Date
Else
commentaire_archivage = [Commentaire compte] & Chr(13) & Chr(10) &
"Compte supprimé (2) le " & Date
End If
DoCmd.SetWarnings False 'désactive la demande de confirmation pour
l'exécution de la requête SQL
DoCmd.RunSQL "INSERT INTO [Comptes effacés] ( Compte, [Compte test],
client, serveur, [Mot de passe], [option vérification], [Adresse e-mail],
Offre, etat, ' & commentaire_archivage & ', [date expiration] ) SELECT
Comptes.Compte, Comptes.[Compte test], Comptes.client, Comptes.serveur,
Comptes.[Mot de passe], Comptes.[option vérification], Comptes.[Adresse
e-mail], Comptes.Offre, Comptes.etat, [Commentaire compte], Comptes.[date
expiration] FROM Comptes WHERE (((Comptes.compte)='" & [Compte] & "'));"
DoCmd.SetWarnings True 'réactive la demande de confirmation
Je précise que j'ai bien défini ma variable par Dim commentaire_archivage As
String.
Je voudrais que la varaible commentaire_archivage remplace la valeur du
champ [Commentaire compte] lors de l'insertion.
Je crois que je vais devoir le faire en plusieurs fois comme le suggère Eric (un autre !). Car normalement, pour insérer des données, il faut rajouter un VALUES après l'INSERT INTO. Pour l'instant, je vais le mettre à la main avant copie des données
Je crois que je vais devoir le faire en plusieurs fois comme le suggère Eric
(un autre !). Car normalement, pour insérer des données, il faut rajouter un
VALUES après l'INSERT INTO. Pour l'instant, je vais le mettre à la main
avant copie des données
Je crois que je vais devoir le faire en plusieurs fois comme le suggère Eric (un autre !). Car normalement, pour insérer des données, il faut rajouter un VALUES après l'INSERT INTO. Pour l'instant, je vais le mettre à la main avant copie des données
Gelos64
L'anomalie provient de l'inversion entre le champ et sa valeur
en première partie derriere INSERT INTO on met les noms de champs En deuxième partie derriere SELECT on met les valeurs (même nombre de champs)