Chercher l'erreur (update d'une table Access)

TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 3 juil. 2006 à 12:36
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 3 juil. 2006 à 17:10
Salut à tous, voilà je cherche à vider tous les enregistrements d'une table Access.. tout à toujours bien marché sauf ce matin, où avec le code suivant, il me renvoie l'erreur : "Concurrency violation : the DeleteCommand affected 0 records." à la ligne de l'update :

        Dim vidi As String = "select statistiks.* from statistiks"
        Dim david As New OleDbDataAdapter(vidi, cn)
        Dim dsvid As New DataSet()
        dsvid.Clear()
        Dim q, w As Integer
        q = david.Fill(dsvid)
        For w = 0 To q - 1
            dsvid.Tables(0).Rows(w).Delete()
        Next
        Dim ocdi As OleDbCommandBuilder = New OleDbCommandBuilder(david)
        david.DeleteCommand = ocdi.GetDeleteCommand
        Dim ocki As OleDbCommandBuilder = New OleDbCommandBuilder(david)
        david.UpdateCommand = ocki.GetUpdateCommand
        Try
            david.Update(dsvid)
        Catch gg As Exception
            MessageBox.Show(gg.Message)
        End Try

Tout idée, remarque, conseil, autre manière de procéder est la bienvenue,
bien amicalement,
Maxime
.Maytheforcebewithyou.Maxime.

2 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
3 juil. 2006 à 12:49
Salut,


En SQL, la commande TRUNCATE permet de vider une table, tout en remettant les numéros automatiques et autres index à leur valeur initiale.

Dim sQuery As String = "TRUNCATE nomDeLaTable;"
Dim toto As New OleDbDataAdapter(sQuery,cn)


(pas testé)
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
3 juil. 2006 à 17:10
Bon, j'ai résolu le problème sans comprendre en plaçant l'update dans la boucle (ligne par ligne), au lieu de balancer tout le tableau en fin de programme.

Mais 'Truncate' avait l'air pas mal.. ceci dit quelle méthode du Dadapter faut-il que j'appelle pour  l'exécuter  ? (j'ai parcourus 10 sec l'aide de  micro...)
a part 'fill et 'update.. (avec lesquels on fait beaucoup, déjà..) le reste, c'est newland.

.Maytheforcebewithyou.Maxime.
0
Rejoignez-nous