begin process at 2008 09 06 20:20:18
1 237 931 membres
313 nouveaux aujourd'hui
14 314 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

REQUETEUR DE BASE DE DONNEES TRES SIMPLE D'UTILISATION ET TRES INTERESSANT DANS SON PRINCIPE


Information sur la source

Description

C'est une source précédemment publiée sur vbfrance, mais dont j'avais demandé la suppression car il s'agissait d'un travail que j'avais réalisé pour ami internaute anonyme MM mais dont les travaux étaient en cours.

Près d'un an plus tard je trouve normal d'en faire profiter d'autres personnes.

Je n'ai plus tout à fait à l'esprit les éléments pour mieux expliquer cette source, mais le titre est assez clair sur ce qu'elle permet de faire.
Pour le moment il permet de requeter uniquement sur des bases de données access mais c'est facilement modifiable pour requeter sur toutes les bases de données.

Le principe:
1 - Choisir une base de données Access
2 - saisir le mot de passe, ne rien mettre si pas de mot de passe
3 - Chargement de toutes requêtes de la base de données. ici il ne visualise que les requetes dont le nom commence par "rst___", "rpu___" et "rpr___"
4 - Le reste est assez intuitif, vous composez toutes vos requetes en y faisant même des synthèses.
5 - Vous pouvez visualiser vos requetes, les exporter vers Excel ou même les enregistrer.
6 - faire des graphiques sous excel en quelques clics.

Petite explication du point 3:
Il s'agit d'un outil d'exploitation, qui devrait être mis à disposition des utilisateurs pour requeter sur ces base de données spécifiques (seulement celles dont on veut bien), raison pour laquelle cet outil ne permettra pas aux utilisateurs d'entrer dans toutes les bases de données, sauf s'il existe des requetes dont le nom commence par "rst___" a été créee.
Les requetes "rpu___" (requetes publiques) et "rpr___" (requetes privées) sont créees par l'outil au moment de l'enregistrement des requetes. En effet l'utilisateur peut crée une requete et être le seul à pouvoir l'utiliser ou alors spécifier que sa requête enregistrée soit utilisée par d'autres utilisateurs. Toutes les requetes sont enregistrées directement dans la base de données. Le système reconnait le créateur de la requete uniquement à partir du nom de l'ordinateur + le nom de la session, n'est ce pas génial ça.
Ce principe permet plein de developpement et je sais que ça donne déjà pleins d'idées à nombre d'entre vous.

Précision importante:
J'ai initialement dévelopé l'outil sous Excel à la demande de mon ami MM, j'ai juste exporté les objets et vite rassembler pour en fair un projet VB. C'est interessant de voir ce qu'on peut faire avec excel, le source Excel est également inclut.

Ne pas prendre trop en rigueur le niveau initié choisi pour cette source, juste pour ne pas frustrer les vrais debutants qui n'y comprendrait rien au code et pourrait se remettre en cause.

Niveau commentaire, je parlais un peu à moi même, je n'ai pas encore le bon reflexe de redaction en même temps que je code.

Conclusion

Il s'agit d'une source qui est au placard depuis Janvier 2007. Ayant été trop absent ces derniers temps, j'ai trouvé bien de la ressortir, surtout que je la trouve super interessante.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de zavier666 le 04/09/2007 16:53:32

    On a pas tous Access (vu son prix) un fichier exemple serait le bien venu

    Sinon très bon code, didactique !

    slts!
    ------------------------------------------------
    Toujours + de VB et d'API => APi @ la Loupe
    http://apialaloupe.free.fr

  • signaler à un administrateur
    Commentaire de asimengo le 04/09/2007 18:12:42

    @Zavier666: Suite à ton commentaire je me suis un peu replongé dans le code.

    J'en profite pour faire une précision, ce code necessite d'avoir Access et Excel. En fait je voulais faire rapidement un puissant outil de requête avec le moins de code possible en utilisant les fonctions d'Access et Excel. C'est dommage parce que je n'utilise qu'une seule fonction d'Access BuiltCriteria.

    Le code est assez simple, parce que les objets (objets Form de Excel) utilisés le permettent. Dans mon idée c'est surtout de presenter un des algorithmes pour résoudre ce genre de problème. Mais pour qu'il soit un outil universel il faudra réecrire la fonction BuiltCriteria, mais très vite y'aura d'autres intérrogations, genre pourquoi ne pas permettre d'attaquer toute sorte de BD, pourquoi ne pas enregistrer le mot de passe des BD, pourquoi ne pas faire les graphiques directement depuis VB, pourquoi ne pas permettre d'attaquer directement les tables, .....

    Je l'ai voulu aussi simple parce qu'en général pour les developpeurs nous avons plus besoin d'être guidé et moi par exemple je suis vite découragé quand je dois entre 2 projets de ma société regarder un code pour ma comprenette de plus de 10 modules, classes, form,...

    Je rachouterai probablement une BD exemple. Merci de ton comm, c'est toujours bien d'avoir l'avis des autres, égo d'humain oblige.

    A+.

  • signaler à un administrateur
    Commentaire de asimengo le 05/09/2007 14:20:06

    Une note "négative" sans commentaire ne signifie rien, mais ceux qui se sont déjà frottés à ce genre de problème sauront en tirer profit, désolé pour ceux qui n'aime pas Access.

  • signaler à un administrateur
    Commentaire de zavier666 le 05/09/2007 16:18:33

    Je ne suis pas certains qu'Access soit absolument nécessaire, je crois qu'il est possible d'avoir le moteur de bdd access sans le soft. Perso au boulot j'ai pas access et j'ai une macro excel qui fait tourner les requetes SQL

    stls!
    __________________________________________________
    Toujours + de VB et d'API => APi @ la loupe
    http://apialaloupe.free.fr

  • signaler à un administrateur
    Commentaire de asimengo le 05/09/2007 16:56:05

    @Zavier666: Comme je disais plus haut, j'utilise une fonction dans "Microsoft Access 11.0 Objects Library", la fonction BuildCriteria sinon effectivement, comme pour d'autres sources ici même on aurait pas besoin d'avoir Access. Où je suis on trouve Access à tout bout de chemin ce qui explique mon reflexe, mais ce ne serait pas trop compliqué de reécrire la fonction BuiltCriteria.

    Voir definition de cette fonction (aide Access)

    Méthode BuildCriteria
    La méthode BuildCriteria retourne une chaîne de critères analysée, telle qu'elle apparaîtrait dans la grille de création de la requête, en mode Filtrer par formulaire ou en mode Filtrer par formulaire (serveur). Par exemple, vous souhaiterez peut-être définir la propriété Filter ou ServerFilter d'un formulaire à partir de divers critères spécifiés par l'utilisateur. Utilisez la méthode BuildCriteria pour construire l'argument constitué d'une expression chaîne pour la propriété Filter ou ServerFilter. Chaîne.

    expression.BuildCriteria(Champ, TypeChamp, Expression)
    expression      Requise. Expression renvoyant l'un des objets figurant dans la liste Application.

    Champ     Chaîne requise. Expression chaîne identifiant le champ pour lequel vous souhaitez définir des critères.

    TypeChamp     Entier obligatoire. Constante intrinsèque indiquant le type de données du champ. Peut être défini comme étant une des valeurs DataTypeEnum DAO.

    expression     Chaîne requise. Expression chaîne identifiant les critères à analyser.

    Remarques
    La méthode BuildCriteria retourne une chaîne.

    La méthode BuildCriteria vous permet de construire facilement les critères d'un filtre à partir d'une réponse de l'utilisateur. Elle analyse l'argument expression de la même manière que si cette expression avait été saisie dans la grille de création de la requête, en mode Filtrer par formulaire ou en mode Filtrer par formulaire (serveur).

    Par exemple, un utilisateur qui crée une requête sur une table Orders (Commandes) peut limiter le jeu de résultats aux commandes passées après le 1er janvier 1995 en définissant des critères sur le champ OrderDate (DateCommande). Cet utilisateur peut entrer une expression comme celle qui suit dans la ligne Critères sous le champ OrderDate :

    >1-1-95

    Microsoft Access analyse automatiquement cette expression et retourne l'expression suivante :

    >#1/1/95#

    La méthode BuildCriteria produit la même analyse à partir du code Visual Basic. Par exemple, pour retourner la chaîne correctement analysée qui précède, fournissez les arguments suivants à la méthode BuildCriteria :

    Dim strCriteria As String
    strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95")

    Étant donné que vous devez fournir des critères à la propriété Filter sous une forme correctement analysée, vous pouvez utiliser la méthode BuildCriteria pour construire une chaîne correctement analysée.

    Utilisez la méthode BuildCriteria pour construire une chaîne à plusieurs critères si ceux-ci font référence au même champ. Par exemple, vous pouvez utiliser la méthode BuildCriteria avec les arguments suivants pour construire une chaîne à plusieurs critères se rapportant au champ OrderDate :

    strCriteria = BuildCriteria("OrderDate", dbDate, ">1-1-95 and <5-1-95")

    Cet exemple retourne la chaîne de critères suivante :

    OrderDate>#1/1/95# And OrderDate<#5/1/95#

    Cependant, si vous souhaitez construire une chaîne de critères faisant référence à plusieurs champs, vous devez la créer et la concaténer vous-même. Par exemple, si vous souhaitez construire des critères pour un filtre afin d'afficher les enregistrements pour les commandes passées après le 1-1-95 et pour lesquelles les frais de port sont inférieurs à 50 F, vous devez utiliser la méthode BuildCriteria à deux reprises et concaténer les chaînes résultantes.

    Exemple
    L'exemple suivant demande à l'utilisateur d'entrer les premières lettres du nom d'un produit, puis il utilise la méthode BuildCriteria pour construire une chaîne de critères à partir de sa réponse. Ensuite, la procédure fournit cette chaîne comme argument de la propriété Filter du formulaire Products. Enfin, la propriété FilterOn est définie afin d'appliquer le filtre.

    Sub SetFilter()
        Dim frm As Form, strMsg As String
        Dim strInput As String, strFilter As String

        ' Open Products form in Form view.
        DoCmd.OpenForm "Products"
        ' Return Form object variable pointing to Products form.
        Set frm = Forms!Products
        strMsg = "Enter one or more letters of product name " _
            & "followed by an asterisk."
        ' Prompt user for input.
        strInput = InputBox(strMsg)
        ' Build criteria string.
        strFilter = BuildCriteria("ProductName", dbText, strInput)
        ' Set Filter property to apply filter.
        frm.Filter = strFilter
        ' Set FilterOn property; form now shows filtered records.
        frm.FilterOn = True
    End Sub

  • signaler à un administrateur
    Commentaire de LUSTRUCRU le 28/09/2007 10:42:46

    Bonjour,

    Aurais-tu la même chose en VB 2005?
    Merci d'avance

  • signaler à un administrateur
    Commentaire de asimengo le 28/09/2007 10:54:25

    @LUSTRUCRU: Non, je suis pour le moment seulement VB6. Mais je pense que ça ne devrait pas être difficile de le traduire en VB2005.

  • signaler à un administrateur
    Commentaire de martingale2 le 14/12/2007 10:43:17

    Bonjour,
    très intéressé par le fichier excel,je n'ai pu le faire fonctionner (je n'ai que vba, pas vb)
    if affiche "installation de seatrack" puis deux fois une erreur 2718 puis erreur dans le module caché Md_Nomenclatures_requetes
    je travaille avec Excel 2000
    Merci de m'en dire plus si possible

  • signaler à un administrateur
    Commentaire de asimengo le 15/12/2007 08:24:36

    @Martingales: Il te faudrait avoir access installé sur ton poste. Une partie de mes travaux en ce moment consiste en l'utilisation intelligente des fonctionnalités déjà existantes sur d'autres logiciels très courant. Chez moi au cameroun Office on le trouve sur au moins 90% des postes. Tu pourras également voir ce lien http://www.vbfrance.com/codes/UTILISATION-INTELLIGENTE-WORD-REALISER-ETATS_44998.aspx mais il te faudrait VB pour le compiler et l'utiliser tu devrait avoir des amis qui en ont. Quand j'aurais du temps je me plongerais sur comment utliser les fonctionnalités d'Excel pour je ne sais pas quoi encore, lol

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS