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

VBA Access Discussion :

[VBA][03] Erreur dans une fonction qui vide des tables


Sujet :

VBA Access

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut [VBA][03] Erreur dans une fonction qui vide des tables
    Bonjour,

    Je débute en VBA et j'ai tenté d'écrire un fonction qui vide la table entrée en paramètre :

    Function Delete(strSource As String)

    Dim db As DAO.Database

    Set db = CurrentDb()
    db.Execute "DELETE * FROM [strsource];"

    End Function

    Malheureusement ça ne fonctionne pas. Il ne considère pas strsource comme une variable mais comme le nom d'une table qui devrait exister.

    J'ai essayé plusieurs variantes sans succès. Si quelqu'un peut m'explique mon erreur ce serait super.

    Merci beaucoup

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 183
    Points : 1 362
    Points
    1 362
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function Delete(strSource As String)
     
    Dim db As DAO.Database
     
    Set db = CurrentDb()
    db.Execute "DELETE FROM " & strsource, dbfailonerror
     
    End Function

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function Delete(strSource As String)
    Dim db As DAO.Database
     
    Set db = Application.CurrentDb
    db.Execute "DELETE * FROM " & db.TableDefs(strsource).name & ";"
    Set db = Nothing
     
    End Function
    ou a peu-près...
    Bon courage,

    PGZ

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut
    Super ça marche!

    Il suffisait de concatener en fait, j'y avais pas pensé

    Merci pour vos réponses rapides!

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

Discussions similaires

  1. erreur ios_base dans une fonction qui renvoie un fichier.
    Par jamsgoodon dans le forum Débuter
    Réponses: 3
    Dernier message: 03/03/2011, 17h57
  2. [XL-2003] erreur dans une fonction appelée dans excel et qui ecrit dans excel
    Par peeter__steewart dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/08/2009, 15h00
  3. Erreur Mismatch dans une fonction qui rempli une liste déroulante
    Par MisNiak dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/12/2008, 17h11
  4. Erreur dans une fonction
    Par dark_vidor dans le forum Langage
    Réponses: 6
    Dernier message: 15/01/2006, 10h23
  5. Réponses: 2
    Dernier message: 11/08/2004, 15h01

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