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

Bases de données Delphi Discussion :

Requête Access via Delphi


Sujet :

Bases de données Delphi

  1. #1
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut Requête Access via Delphi
    Bonjour à tous,

    non, je ne veux pas afficher tout simplement le résultat d'une requête dans un DBGrid ou tout autre composant de la famille !

    Ce que je voudrais, c'est exécuter une requête (donc qui existe déja dans la DB Access) via delphi et visualiser le résultat DANS Access. (je sais que c'est puant mais on a pas toujours le choix. Le boss c'est le boss !).

    J'ai déja utilisé un truc du genre pour les états ou les macros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try
        vAccess := GetActiveOleObject('Access.Application');
      Except
        vAccess := CreateOleObject('Access.Application');
      end;
      vAccess.visible:=true;
      vAccess.OpenCurrentDatabase(DBPath, false);
      //pour exécuter un état
      vAccess.DoCmd.OpenReport('monrapport', acViewPreview, EmptyParam, EmptyParam);
     
    //pour exécuter une macro
    vAccess.DoCmd.RunMacro('mamacro', EmptyParam, EmptyParam);
    Mais pour une requête je sais pas du tout !!

    Quelqu'un à une idée ?

    Merci d'avance

    @+

  2. #2
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113

  3. #3
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    euhhhhhhhhhhhhhhhh ......

    je reste sans voix devant autant de simplicité !

    Merci Buzz

    @+

  4. #4
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    ça fonctionne nikel

    Encore un grand merci

  5. #5
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut UNE PETITE ILLUSTRATION
    BON JOUR CAMADE
    BON JOUR ZEMEILLEUROFGREG VOTRE DISCUSSION EST trés interessent
    si tu peut une petite illustration sur RunMacro et Open Report et les argumment de ces fonction.
    plus quelle est la commande pour exécuter une requete existe dans une base access via delphi.


    merci beaucoup

  6. #6
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut


    voici le code pour ouvrir un état Access :

    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
    procedure TfrmMain.lbprintrapportDblClick(Sender: TObject);
    const
        acViewNormal = $00000000;
        acViewDesign = $00000001;
        acViewPreview = $00000002;
    begin
      try
        vAccess := GetActiveOleObject('Access.Application');
      Except
        vAccess := CreateOleObject('Access.Application');
      end;
      vAccess.visible:=true;
      vAccess.OpenCurrentDatabase(DBPath, false);
      vAccess.DoCmd.Maximize;
      vAccess.DoCmd.OpenReport('monetat', acViewPreview, EmptyParam, EmptyParam); //monetat étant le nom de l'état
    end;
    pour une macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     DisplayInfoPanel('Création du fichier ANR en cours ...');
       try
        vAccess := GetActiveOleObject('Access.Application');
      Except
        vAccess := CreateOleObject('Access.Application');
      end;
      vAccess.OpenCurrentDatabase(DBPath, false);
      vAccess.DoCmd.RunMacro('mamacro', EmptyParam, EmptyParam);//mamacro étant le nom de la macro
      vAccess.CloseCurrentDatabase;
      vAccess.Quit;
    et pour un query

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm1.Button1Click(Sender: TObject);
    var
    vAccess : variant;
    begin
      try
        vAccess := GetActiveOleObject('Access.Application');
      Except
        vAccess := CreateOleObject('Access.Application');
      end;
      vAccess.visible:=true;
      vAccess.OpenCurrentDatabase('D:\Applications\Borland\Delphi7\Projects\Easy Master\DATA\BDC_DATA.mdb', false,'');
      vAccess.DoCmd.OpenQuery('Requete2', acViewNormal, acEdit);
    end;

  7. #7
    Membre averti Avatar de zemeilleurofgreg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    515
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 515
    Points : 346
    Points
    346
    Par défaut
    pour éviter d'utiliser les constantes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    acViewNormal, acViewDesign,
        acViewPreview, acEdit
    Tu peux ajouter "AccessXp" dans les Uses.

    @+

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

Discussions similaires

  1. [XL-2003] Ouverture d'une requête Access via VBA Excel
    Par hoodoo dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 19/03/2015, 10h43
  2. requête access sur delphi
    Par jeanparfait dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/10/2011, 02h31
  3. Requête Access via PHP/XML
    Par saipas dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 06/07/2009, 03h26
  4. Requête SQL via les composants ADO sur une Table Access 97
    Par Didier100 dans le forum Bases de données
    Réponses: 9
    Dernier message: 21/12/2007, 14h43
  5. Modification de tables via requête Access
    Par Norin dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 16/06/2006, 19h49

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