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

Requêtes et SQL. Discussion :

[Requête] creation de table avec un champ auto incrementé


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Requête] creation de table avec un champ auto incrementé
    bonjoiur,

    j'aurai aimé savoir si c'etait possible de creer une requete de type creation de table en y rajoutant un champ avec un numero incrémenté !

    sinon comment faire pour creer une table avec un champ auto incrementé
    à partir d une requete.

    Merci,

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    pense à rechercher dans la FAQ avant de poster :
    http://access.developpez.com/faq/?re...numeroauto+sql
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    Merci pour ton aide , mais je suis debutant et je n arrive pas a faire ce que j aimerais avoir,c'est a dire une nouvelle table remplie par cette requete avec en plus un champ auto incrementé, comment dois je m'y prendre ?

    Voici ma requete :

    SELECT [requete1].[NOSALARIE], [requete1].[NOCTAT], Min([AVENANTS].[DEBCTAT]) AS MinDeDEBCTAT, Max([AVENANTS].[FINCTAT]) AS MaxDeFINCTAT INTO historique
    FROM requete1 INNER JOIN AVENANTS ON ([requete1].[NOCTAT]=[AVENANTS].[NOCTAT]) AND ([requete1].[NOSALARIE]=[AVENANTS].[NOSALARIE])
    GROUP BY [requete1].[NOSALARIE], [requete1].[NOCTAT]
    ORDER BY Min([AVENANTS].[DEBCTAT]);

    cette requete me cree bien ma table et avec une macro

    ALTER TABLE historique ADD COLUMN IDhisto COUNTER

    je cree mon champ auto incrementé,

    mais comment faire pour que cela soit automatique quand j ouvre ma base ?

    Merci,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Points : 123
    Points
    123
    Par défaut
    bonjour,

    Une solution 'mécanique':

    Il te faut une table vide avec tes champs [NOSALARIE],[NOCTAT]... et un champs [Idhisto] N°auto. Cette table va te servir à créer une nouvelle table ( requete création) dans laquelle tu vas ajouter tes enregistrements ( requete ajout). avec une macro tu automatises.

    A+

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 4
    Points : 8
    Points
    8
    Par défaut Création de table avec champ auto-incrémenté
    Soluce trouvée sur Stackoverflow :

    Code : 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
    20
    21
    Sub createTable()
        Dim oDb As DAO.Database: Set oDb = CurrentDb
        Dim tblClients As DAO.TableDef: Set tbl = oDb.CreateTableDef("tblClients")
        Dim fNum As DAO.Field, fName As DAO.Field
        Dim PKUsers As DAO.Index
        With tblClients
            '===============================Your auto-incremented field===============================
            Set fNum = .CreateField("Num", dbLong): .Attributes = dbAutoIncrField: .Fields.Append fNum
            '==========================================================================================
            Set fName = .CreateField("Name", dbText, 15): .Fields.Append fName
     
            Set PKUsers = .CreateIndex("PKUsers")
            With PKUsers
                .Primary = True
                .Unique = True
                .Fields.Append .CreateField("Num")
            End With
            .Indexes.Append PKUsers
        End With
        oDb.TableDefs.Append tblLogs
    End Sub

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 4
    Points : 8
    Points
    8
    Par défaut Oups ! avec correction de la ligne Set fnum
    Code : 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
    20
    21
    Sub createTable()
        Dim oDb As DAO.Database: Set oDb = CurrentDb
        Dim tblClients As DAO.TableDef: Set tbl = oDb.CreateTableDef("tblClients")
        Dim fNum As DAO.Field, fName As DAO.Field
        Dim PKUsers As DAO.Index
        With tblClients
            '===============================Your auto-incremented field===============================
            Set fNum = .CreateField("Num", dbLong): fnum.Attributes = dbAutoIncrField: .Fields.Append fNum
            '==========================================================================================
            Set fName = .CreateField("Name", dbText, 15): .Fields.Append fName
            
            Set PKUsers = .CreateIndex("PKUsers")
            With PKUsers
                .Primary = True
                .Unique = True
                .Fields.Append .CreateField("Num")
            End With
            .Indexes.Append PKUsers
        End With
        oDb.TableDefs.Append tblLogs
    End Sub
    [/QUOTE]

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/04/2009, 11h31
  2. Requête de création de table avec nouveau champs
    Par Lorenzogazier dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 09/06/2008, 15h00
  3. Requête : création table avec un champ fixe
    Par Laurelie dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 11/02/2008, 16h59
  4. Réponses: 4
    Dernier message: 22/11/2007, 19h23
  5. Creation de table avec un champ texte comme clé primaire
    Par Sytchev3 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/07/2007, 11h40

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