2013-02-12 4 views
1

Je gère une feuille Excel 2007 en utilisant SQL, en utilisant la chaîne de connexion suivante:SQL supprimer dans VBA EXCEL

Provider = Microsoft.ACE.OLEDB.12.0; Data Source = 'Invoice.xlsm'; Extended Propriétés = 'Excel 12,0; IMEX = 1; HDR = Oui'

Tout fonctionne comme il se doit en dehors de l'instruction Delete. Lorsque j'essaie d'effectuer Delete From [tablename$] where code like '1'), j'obtiens une erreur -2147467259 (80004005).

Je ne peux pas l'expliquer, puisque toutes les autres instructions select et insert marchent très bien.

+0

Ok. Quoi que j'ai essayé, ne résout pas le problème. Je suppose que peut-être les déclarations Delete ne sont pas autorisées pour une raison quelconque. Je pense à utiliser une feuille temporaire pour écrire toutes les données en dehors de celles à supprimer et ensuite écrire la feuille originale avec. – tcop

+0

Quel est le texte de ce message d'erreur? Offre-t-il des indices utiles? –

+0

Je ne crains pas. C'est une erreur SQL générale indiquant que les données ne peuvent pas être supprimées – tcop

Répondre

2

Après quelques heures de recherche dans le support technique Microsoft, je l'ai trouvé ce qui suit:

The Catalog object has a Create method but does not have a Delete method.

Je suppose qu'il n'y a aucun moyen d'effectuer une SQL DELETE, dans des feuilles Excel.