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

Discussion: Creation de table vba

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

    Informations forums :
    Inscription : janvier 2010
    Messages : 374
    Points : 91
    Points
    91

    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
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : janvier 2010
    Messages : 374
    Points : 91
    Points
    91

    Par défaut

    Oups!
    Comment faire pour basculer mon sujet dans la partie IHM du forum?

    Erreur... désolé!

    Totor

  3. #3
    Membre émérite Avatar de hyperion13
    Homme Profil pro
    Calot120 - Enseignant Post Bac
    Inscrit en
    octobre 2007
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Calot120 - Enseignant Post Bac
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 606
    Points : 2 461
    Points
    2 461

    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)
    GMT+4 - 21°19'18" S - 055°25'32" E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse est pertinente. N'oubliez pas svp de clôturer le sujet en cliquant sur

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

    Informations forums :
    Inscription : janvier 2010
    Messages : 374
    Points : 91
    Points
    91

    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