IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

réinitialiser auto incrément


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut réinitialiser auto incrément
    Bonjour tout le monde j'aimerai savoir comment remettre l'auto incrément à zéro par une requete SQL sous ACCES (en VBA) J'ai essayer avec cette syntaxe (comme sous mysql)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE nom_table
    auto_increment = 0
    Mais sa ne fonctionne pas sa serait trop beau lol est - ce que quelqu'un connaot la syntaxe SVP

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,

    Tu veux remettre à Zéro un champ numéro Auto ?

    Je pense que c'est impossible, la seule solution est de faire une copie de la structure de la table
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  3. #3
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Très juste...
    Tu ne peux pas remettre à zéro un auto-increment par du code SQL
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 97
    Points
    97
    Par défaut
    Arf ok je pensais que c'était possible comme sous MYSQL ont peut le remttre à 0 merci pour vos réponse rapide !

  5. #5
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par kikilevrai Voir le message
    Bonjour tout le monde j'aimerai savoir comment remettre l'auto incrément à zéro par une requete SQL sous ACCES (en VBA) J'ai essayer avec cette syntaxe (comme sous mysql)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE nom_table
    auto_increment = 0
    Mais sa ne fonctionne pas sa serait trop beau lol est - ce que quelqu'un connaot la syntaxe SVP

    Merci d'avance
    après quelques années...
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC CHECKIDENT ('nom_de_la_table', RESEED, 0)

  6. #6
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    salut,

    Et comment code tu ça en VB ?
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  7. #7
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par jean-paul lepetit Voir le message
    salut,

    Et comment code tu ça en VB ?
    je sais vraiment pas mais je pense que tu peu utiliser un "SqlCommand"
    Code VB.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Imports System.Data.SqlClient
     
    Public Class maClass
        Private con As New SqlConnection("Connexion_a_sql_server")
        Private cmd as SqlCommand
        Private sub trucXD()
           Try
                con.Open()
                cmd.Connection = con
                cmd.CommandText = "DBCC CHECKIDENT ('nom_de_la_table', RESEED, 0)"
                cmd.ExecuteNonQuery()
            Catch sqlex As SqlException
                MsgBox(sqlex.Message)
            Finally
                con.Close()
            End Try
        End Sub
    End Class

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    je passe un peu tard...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "ALTER TABLE matable ALTER COLUMN indice COUNTER(base,pas)"
    avec par ex: base=1 et pas=1


  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par vodiem Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "ALTER TABLE matable ALTER COLUMN indice COUNTER(base,pas)"
    Mon problème est le suivant :
    - J'ai bien remplacer "matable", "indice", "base" et "pas" par les valeurs appropriées,
    - J'utilise une fonction VBA,

    Je ne comprend donc pas pourquoi cela ne fonctionne pas,
    voici mon message d'erreur lors du Debug :

    Erreur d'exécution '3259':
    Type de champs de données non valide.


    Que faire ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Voici la solution que j'ai trouver (sans utiliser de table tampon, et sans compacter la base, donc en la gardant ouverte !) :

    J'ai donc utiliser le code de vodiem,
    seulement avant de l'utiliser j'ai supprimer le champs de la table,
    j'en ai recréer un,
    et je l'ai fait démarrer de 1 avec un pas de 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ' Suppression de monChamp dans maTable
    DoCmd.RunSQL "ALTER TABLE maTable DROP COLUMN monChamp"
    ' Ajout de monChamp de type COUNTER dans maTable
    DoCmd.RunSQL "ALTER TABLE maTable ADD monChamp COUNTER"
    ' Départ de monChamp de type COUNTER à base avec un pas de step
    DoCmd.RunSQL "ALTER TABLE maTable ALTER COLUMN monChamp COUNTER(base,step)"
    /!\ Avant tout, il faut que monChamps ne soit ni un index, ni une clé primaire pour qu'il puisse être supprimé /!\

    Voilà, j'espère que cela servira

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réinitialisation d'un champ auto incrément
    Par iris84 dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/01/2015, 19h56
  2. Réponses: 6
    Dernier message: 12/04/2010, 15h53
  3. [MySQL] Réinitialisation colonne auto-incrémentée
    Par Guttata dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 19/05/2009, 14h03
  4. Réinitialisation d'une clé auto incrémentée
    Par Linio dans le forum Langage SQL
    Réponses: 9
    Dernier message: 28/06/2007, 21h21
  5. [MSSQL 2000] Réinitialiser un compteur d'auto-incrément
    Par major2 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2006, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo