Code:ALTER TABLE Table1 ALTER COLUMN ID COUNTER(1,1)
Version imprimable
Code:ALTER TABLE Table1 ALTER COLUMN ID COUNTER(1,1)
Ca me demande de sélectionner la sources de données:? Je comprend pas car j'ai bien sélectionner la table en question !
Pièce jointe 204813
c'est bien ce que j'ai saisi Rdurupt mais mon manque de connaissance sur Access doit faire que j'oublie certainement quelque-chose :oops:
Ah ah !
Ce n'étais pas faut d'avoir préciser de changer le nom de la table et celui du champs de l'autoincrément.....
Oui désolé, effectivement la copie d'écran n'est pas approprié mais j'ai bien essayé avec "ALTER TABLE Table1 ALTER COLUMN ID COUNTER(1,1)"
Je ne comprend pas pourquoi ça me demande de sélectionner un fichier
Pièce jointe 204822
Le problème vient surement du fait que je n'ai pas de source de données renseignée. Mais ma source c'est la table elle meme !
referme ta table1 et click sur !
Pièce jointe 204827
J'ai réussi à la faire fonctionner en renseignant le nom de la table dans la propriété de la requête "Sous-feuille données nom".
En tout cas Cerede2000, pour répondre à ta question initiale. Oui la requête permet de réinitialiser le compteur.
Mais cela veut dire que si je dois ajouter cet information pour faire fonctionner la requête, je ne peux pas l'utiliser via une macro.
Que la requête fonctionne je n'en ai aucun doute puisque je l'utilise déjà :mrgreen:
Mais qu'elle fonctionne chez toi c'est le but !
Aurais tu moyen de nous pousser ta base Access en attachement ?
Si pas trop grosse et sans données confidentielle qu'on puisse voir directement :)
tu sélectionnes une table c'est normal!
si tu tentais de faire cette opération dans Excel avec la table ouverte dans Access, oui ça plante!
il faut l’exécuter après le delete et avant le select.
Rdurupt, sur Access 2007, l'image du bouton à gauche du point d'exclamation rouge, ne change pas même si tu sélectionnes "SQL". Ce que j'avais effectué.
Cerede2000, Je ne peux pas ajouter ma base de donnée. Les fichiers .accdb ne semblent pas être reconnus, pour le mien fait que 322ko
Pièce jointe 204833
Si tu zip ton fichier avant de le joindre ? :)
Regardes en bas à droite près de la barre de taches!
Ah effectivement, là ca passe :oops:
Pièce jointe 204841
Pas de soucis rencontré.
J'ouvre le fichier ACCDB, je fais une nouvelle requête, je copie/colle ce que j'ai déjà indiqué ici, et ça fonctionne :)
Je vous fait voir ma macro complete, ca sera surement plus facile pour vous pour interpréter ce qu'il ne va pas:
Pièce jointe 204842
Alors première chose, ne met pas tout ton code dans ThisWorkbook mais créé plutôt des Module :)
Ensuite ça fonctionne très bien, avec ton classeur et ta BDD :
Dans ton code tu ouvre le Recordset avant de vider la table et de réinitialisé l'autoincrément, ce n'est pas bon.Code:
1
2
3
4
5
6
7
8
9
10 Sub test() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & "Data Source=C:\Users\kguesmia\Documents\Alerte CASSE appro\Casse_appro.accdb;Persist Security Info=False;""" cn.Execute "Delete from Table1;" cn.Execute "ALTER TABLE Table1 ALTER COLUMN ID COUNTER(1,1)" End Sub
Il faut faire le vidage, la réinit et ensuite ouvrir ton Recordset.
Bingo j'ai pigé !
Merci beaucoup !!!!!!! :lol:
Tu fais ton cn.open (Ouvre ta connexion ata base)Citation:
Envoyé par poste 50
Tu delete tes données
Tu alter ta table cn.execute "Alter table"Tu ouvre to recordset
Code:Rs.open "select * from"
Regarde ma macro test au dessus.
Je procède bien à l'ouverture de la BDD ;)
cn.Open procède à l'ouverture de la connexion avec la BDD, une fois que c'est fait tu peux commencer à travailler avec.
Le recordset viens dans un deuxième temps, il sert à récupérer des données dans les tables sur une BDD déjà ouverte.
Edit : légèrement grilled by rdurupt :)