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

VB.NET Discussion :

Requête vb appelle une fonction créer dans Access (VBA)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut Requête vb appelle une fonction créer dans Access (VBA)
    Bonjour,

    Je veux exécuter la fonction GROUP_CONCAT, et comme cette fonction n’existe pas dans Access, j’ai créé une fonction module Access (VBA) qui fait la concaténation par groupe.

    Si j’exécute ma requête sous Access tout marche bien, par contre si je lance ma requête a partir de vb, rien ni t’afficher, est ce que y’a une configuration spécial pour permettre a vb d’exécuter des fonctions créer dans Access.

    Voici mon code vb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            mycommand = New OleDbCommand("Ma requête")
            mydatadapter = New OleDbDataAdapter
            dset = New DataSet
            mydatadapter.SelectCommand = mycommand
            mydatadapter.Fill(dset, "courrier")
            DataGridView1.DataSource = dset.Tables("courrier")
            Catch ex As OleDbException
                MessageBox.Show(ex.Message)
            End Try
    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut
    Bonjours,

    Toujours bloquée, j'ai essayé d’appeler ma requête directement a partir de Access, ma
    requète4
    elle fait appelle a ma fonction de concaténation
    fConcatgroup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Dim Requete As String = "Requête4"
            Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter
            MyAdapter.SelectCommand = New OleDbCommand(Requete, conn)
            MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure           
            dset = New DataSet
                Try
                    MyAdapter.Fill(dset, "courrier")
                Catch ex As OleDbException
                    MessageBox.Show(ex.Message)
                End Try
                DataGridView1.DataSource = dset.Tables("courrier")
    mais m'affiche le message d'erreur
    Fonction "fConcatgroup" non définie dans l'expression

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut GROUP_CONCAT avec Access
    Bonjour,

    Si c'est pas possible d'appeler une fonction dans un module Access par un code VB, est ce que il y'a un moyenne d’exécuter la fonction GROUP_CONCAT avec access, j'arrive pas a trouver une solution .

    Merci.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je n'ai jamais testé en Vb.net, mais j'ai eut le cas sur une application VB6.

    Le palliatif est de crée ta fonction dans VB.net et de mettre la chaîne SQL avec la fonction, et de ne pas faire appel à la requête dans Access.

    L'avantage de cette méthode est que si un jour tu es obligé de basculer ta base sur un autre système que Access, tu n'auras que ta chaîne de connexion à modifier, et donc la liaison avec tes tables.

    Philippe

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2009
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2009
    Messages : 254
    Par défaut
    Bonjour,

    Merci @Philippe JOCHMANS, j'ai pensé a ça mais toujours bloquer, voila le code Access VBA utilisé http://access.mvps.org/access/modules/mdl0004.htm, j'ai refait ce code en VB.NET, mais le problème que cette fonction fait la concaténation par rapport au champs
    varIDvalue
    et elle renvoi une chaîne, si je fais
    select id, fConcatChild() from table
    ça marche pas (dans une requête on met select nom_champ pas select résultat), je sais pas comment l'utiliser dans ma requête VB.NET, et la récupérer dans un DataSet.

    Merci

Discussions similaires

  1. [.net]Appeler une fonction située dans le code behind
    Par anto dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/05/2009, 13h05
  2. appeler une fonction javascript dans le code html
    Par kawther dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/05/2007, 16h40
  3. [PHP-JS] appeler une fonction javascript dans un lien
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2007, 10h43
  4. [Requête] Utilisation d'une fonction perso dans une requête
    Par Julien Dufour dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2007, 09h53
  5. Réponses: 12
    Dernier message: 12/05/2006, 09h21

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