[vba] requete sql
Fermé
poulain35
-
17 déc. 2010 à 13:24
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 27 mai 2011 à 16:44
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 27 mai 2011 à 16:44
A voir également:
- [vba] requete sql
- Find vba - Astuces et Solutions
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Sql lister les tables ✓ - Forum Programmation
- Blob sql ✓ - Forum Webmastering
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
5 réponses
Bonjour,
La syntaxe d'une requête SQL DELETE est :
DELETE FROM [NOM_TABLE] WHERE [CONDITIONS]
Donc en premier lieu, ta requête est invalide.
En second lieu, le OpenRecordset permet d'ouvrir un jeu d'enregistrements (comme son nom l'indique).
Une requête SQL DELETE ne renvoie aucun enregistrement (contrairement à un SELECT).
Même si je ne connais pas bien VBA ; je pense donc que le OpenRecordset est inapproprié pour l'exécution d'une requête DELETE.
Cordialement, M.
La syntaxe d'une requête SQL DELETE est :
DELETE FROM [NOM_TABLE] WHERE [CONDITIONS]
Donc en premier lieu, ta requête est invalide.
En second lieu, le OpenRecordset permet d'ouvrir un jeu d'enregistrements (comme son nom l'indique).
Une requête SQL DELETE ne renvoie aucun enregistrement (contrairement à un SELECT).
Même si je ne connais pas bien VBA ; je pense donc que le OpenRecordset est inapproprié pour l'exécution d'une requête DELETE.
Cordialement, M.
Bonjour,
Je pense que swedd a raison sur la syntaxe du DELETE.
Essaye :
DIM SQL_test As String
DIM tabe as Recordset
SQL_test = "DELETE FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
Set table = base.OpenRecordset(SQL_test)
table.Close
Sinon
DoCmd.RunSQL "DELETE FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
Je pense que swedd a raison sur la syntaxe du DELETE.
Essaye :
DIM SQL_test As String
DIM tabe as Recordset
SQL_test = "DELETE FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
Set table = base.OpenRecordset(SQL_test)
table.Close
Sinon
DoCmd.RunSQL "DELETE FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 27/05/2011 à 16:51
Modifié par michel_m le 27/05/2011 à 16:51
une piste peut-^tre:
1/ton identifiant est il autoincrémenté ?
2/ as tu des intégrités référentielles avec d'autre tables (dependance)?
3/mais je partage aussi les remarques de Swed et dylan sur la syntaxe de DELETE
autre chose:
Tu peux aussi feinter avec
SELECT..... FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
puis avec table
While not table.eof
table.delete
table.movenext
wend
Michel
1/ton identifiant est il autoincrémenté ?
2/ as tu des intégrités référentielles avec d'autre tables (dependance)?
3/mais je partage aussi les remarques de Swed et dylan sur la syntaxe de DELETE
autre chose:
Tu peux aussi feinter avec
SELECT..... FROM fichiers WHERE nom_fic = '" & liaison1 & "';"
puis avec table
While not table.eof
table.delete
table.movenext
wend
Michel