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 :

Creation de table vba


Sujet :

Access

  1. #1
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut Creation de table vba
    bonjour,

    J'éssaie de créer une table via in bouton.
    J'ai in module:

    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
    Option Compare Database
    Option Explicit
     
    Function TableExiste(db As DAO.Database, ByVal strTable As String) As Boolean
    Dim tdf As DAO.TableDef
    Dim existe As Boolean
     
        Set db = CurrentDb
        ' La table n'existe pas...
        existe = False
     
        ' Parcourir toutes les tables de la base
        For Each tdf In db.TableDefs
          If tdf.Name = strTable Then
            ' La table a été trouvée...
            existe = True
            Exit For
          End If
        Next
        TableExiste = existe
    End Function
    et ensuite évènement sur click bouton:

    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
    22
    Private Sub AddTable_Click()
     
    'Creation Table
        Dim rs As DAO.Recordset, rsPN As DAO.Recordset, rs1 As Recordset
        Dim sql As String
     
        Set db = CurrentDb
     
    ' Suppression des tables temporaires
            If TableExiste(db, "Matable") Then
                DoCmd.SetWarnings False
                CurrentDb.Execute "DROP TABLE Matable;"
                DoCmd.SetWarnings True
            End If
     
    ' Création de la table temporaire (MaTable
            sql = "CREATE TABLE MaTable (Id AUTOINCREMENT PRIMARY KEY, PN CHAR(50), Description CHAR(50)"
            sql = sql & ", PN_Height Double, PN_Lenght Double, PN_Width Double, PN_Weigth Double, CubicMeterGross Double, HazmetCode CHAR(50));"
            CurrentDb.Execute (sql)
     
     
    End Sub
    quand je clic j'ai un message d'erreur.

    Compile errer:
    "Expected variable or procedure, not module"
    le champ "TableExiste" dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            If TableExiste(db, "Matable") Then
    est surligné mais pas en jaune, en noir.
    c'est la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub AddTable_Click()
    qui passe en jaune!

    Merci
    Totor

  2. #2
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Oups!
    Comment faire pour basculer mon sujet dans la partie IHM du forum?

    Erreur... désolé!

    Totor

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Autant aller à l'essentiel, la supprimer si elle existe
    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
    Function Delete_Table(NomTable As String) As Boolean
        Dim dbs As DAO.Database
        Dim tbl As DAO.TableDef
        Delete_Table = False
        Set dbs = CurrentDb
        For Each tbl In dbs.TableDefs
            If tbl.Name = NomTable Then
                dbs.TableDefs.Delete (tbl.Name)
                Delete_Table = True
                Exit Function
            Else
                Delete_Table = False
            End If
        Next tbl
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub AddTable_Click()
        Dim tbl As String: Dim sql As String
        tbl = "Matable"
        Delete_Table (tbl)
     
    ' Création de la table temporaire (MaTable
            sql = "CREATE TABLE MaTable (Id AUTOINCREMENT PRIMARY KEY, PN CHAR(50), Description CHAR(50)"
            sql = sql & ", PN_Height Double, PN_Lenght Double, PN_Width Double, PN_Weigth Double, CubicMeterGross Double, HazmetCode CHAR(50));"
            CurrentDb.Execute (sql)
    RefreshDatabaseWindow
    End Sub
    Sinon dans AddTable_Click() il manque Dim db As Database !
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    IMPEC !!

    Merci hyperion13.

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

Discussions similaires

  1. creation de table en vba:probleme
    Par jihad33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/05/2008, 09h03
  2. VBA : Creation de table à partir de fichier texte
    Par titof90 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/03/2007, 10h34
  3. Réponses: 2
    Dernier message: 13/05/2006, 13h25
  4. Creation de table multi base
    Par baboune dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/02/2004, 09h23
  5. Creation de table, caractère non reconnu
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/02/2004, 13h28

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