begin process at 2008 07 21 02:05:26
1 213 553 membres
22 nouveaux aujourd'hui
14 167 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 !

DELPHI ET ACCESS /DBGRID


Information sur la source

Catégorie :Base de Donnees Classé sous : delphi, Access, dbgrid, filtre, date Niveau : Débutant Date de création : 01/12/2007 Vu / téléchargé: 7 089 / 1 056

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Ayant cherché à nombreuse reprise sur le net sans de rééel conclusion une explication d'accés à access et à l'interconnexion avec une dbgrid, j'ai enfin réussi à faire une synthése de quelques trucs.
Le source suivant donne les informations suivantes :
Accés à la base de données access
Connexion à une DBGRid
Filtre sur des dates (et c'est pas du kuxe d'avoir un vrai exemple)
    Between
    Filtre date précise
Filtre Texte (plus simple)

Pour les novice, comme moi, il faudra, cliquer sur l'icone ADO dans l'onglet Design de l'éditeur Delphi
A gauche vous avez dans objectInspector zone Database ConnectionString cliquez sur ....
          Boite de dialogue
          cliquez sur Build
          Onglez connexion
          cliquez sur ...de la zone 1 et pointez sur la base de données DataBase.mdb
          Cliquez sur testez la connexion
          Message de dialogue de victoire

Source

  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, ADODB, DB, Grids, DBGrids, StdCtrls;
  • type
  • TForm1 = class(TForm)
  • DBGrid1: TDBGrid;
  • ADOConnection1: TADOConnection;
  • ADOQuery1: TADOQuery;
  • DataSource1: TDataSource;
  • Button1: TButton;
  • Button2: TButton;
  • Button3: TButton;
  • Button4: TButton;
  • procedure Button4Click(Sender: TObject);
  • procedure Button3Click(Sender: TObject);
  • procedure Button2Click(Sender: TObject);
  • procedure Button1Click(Sender: TObject);
  • private
  • { Private declarations }
  • public
  • { Public declarations }
  • end;
  • var
  • Form1: TForm1;
  • implementation
  • {$R *.dfm}
  • // Pour fonctionner directement il faut que la requete soit active : Miscellaneous Active TRUE
  • procedure TForm1.Button1Click(Sender: TObject);
  • begin
  • AdoQuery1.SQL.Clear;
  • AdoQuery1.SQL.Add('Select * From TableTest Where ChampTXT='+QuotedStr('TEST1'));
  • AdoQuery1.Open;
  • end;
  • procedure TForm1.Button2Click(Sender: TObject);
  • begin
  • AdoQuery1.SQL.Clear;
  • AdoQuery1.SQL.Add('Select * From TableTest');// Where ChampTXT='+QuotedStr('*'));
  • AdoQuery1.Open;
  • end;
  • procedure TForm1.Button3Click(Sender: TObject);
  • Var
  • Chaine : String;
  • Date : TDateTime;
  • Year,Month,Day : Word;
  • Hour,Min,Sec,MSec : Word;
  • begin
  • Date := StrToDateTime('11/11/2007 11:09:05');
  • DecodeDate (Date,Year,Month,Day);
  • DecodeTime (Date,Hour,Min,Sec,MSec);
  • // FONCTIONNE AdoQuery1.SQL.Clear;
  • // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where ChampDate=#03/03/2007#');
  • AdoQuery1.SQL.Clear;
  • // INFO FORUM WHERE (Cdate(checktime) = Date()) And Hour(checktime) > 11 And Minute(checktime) > 11 And Second(checktime) > 43;
  • // Marche pas AdoQuery1.SQL.Add('Select * From TableTest Where ChampDate=#11/11/2007 11:09:05#');
  • // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#)');// And Hour(ChampDate)>11');
  • // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#) And (Hour(ChampDate)=11)');
  • // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#) And (Hour(ChampDate)=11) And (Minute(ChampDate)=09)And (Second(ChampDate)=05)');
  • AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#'+
  • IntToStr(Day)+'/'+
  • IntToStr(Month)+'/'+
  • IntToStr(Year)+'#)'+
  • 'And (Hour(ChampDate)='+IntToStr(Hour)+') '+
  • 'And (Minute(ChampDate)='+IntToStr(Min)+')'+
  • 'And (Second(ChampDate)='+IntToStr(Sec)+')');
  • AdoQuery1.Open;
  • end;
  • procedure TForm1.Button4Click(Sender: TObject);
  • begin
  • AdoQuery1.SQL.Clear;
  • AdoQuery1.SQL.Add('Select * From TableTest ' +
  • 'Where ((Int(ChampDate)>#10/10/2007#) And ' +
  • '(Int(ChampDate)<#12/11/2007#)) Or ' +
  • '(Int(ChampDate)=#10/10/2007#) Or ' +
  • '(Int(ChampDate)=#12/10/2007#)');
  • AdoQuery1.Open;
  • end;
  • end.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ADODB, DB, Grids, DBGrids, StdCtrls;

type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// Pour fonctionner directement il faut que la requete soit active : Miscellaneous Active TRUE



procedure TForm1.Button1Click(Sender: TObject);
begin
 AdoQuery1.SQL.Clear;
 AdoQuery1.SQL.Add('Select * From TableTest Where ChampTXT='+QuotedStr('TEST1'));
 AdoQuery1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 AdoQuery1.SQL.Clear;
 AdoQuery1.SQL.Add('Select * From TableTest');// Where ChampTXT='+QuotedStr('*'));
 AdoQuery1.Open;
end;

procedure TForm1.Button3Click(Sender: TObject);
Var
  Chaine : String;
  Date   : TDateTime;
  Year,Month,Day : Word;
  Hour,Min,Sec,MSec : Word;

begin
 Date := StrToDateTime('11/11/2007 11:09:05');
 DecodeDate (Date,Year,Month,Day);
 DecodeTime (Date,Hour,Min,Sec,MSec);

 // FONCTIONNE AdoQuery1.SQL.Clear;
 // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where ChampDate=#03/03/2007#');
 AdoQuery1.SQL.Clear;
 // INFO FORUM WHERE (Cdate(checktime) = Date()) And Hour(checktime) > 11 And Minute(checktime) > 11 And Second(checktime) > 43;
 // Marche pas AdoQuery1.SQL.Add('Select * From TableTest Where ChampDate=#11/11/2007 11:09:05#');
 // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#)');// And Hour(ChampDate)>11');
 // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#) And (Hour(ChampDate)=11)');
 // FONCTIONNE AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#11/11/2007#) And (Hour(ChampDate)=11) And (Minute(ChampDate)=09)And (Second(ChampDate)=05)');
 AdoQuery1.SQL.Add('Select * From TableTest Where (Int(ChampDate)=#'+
    IntToStr(Day)+'/'+
    IntToStr(Month)+'/'+
    IntToStr(Year)+'#)'+
    'And (Hour(ChampDate)='+IntToStr(Hour)+') '+
    'And (Minute(ChampDate)='+IntToStr(Min)+')'+
    'And (Second(ChampDate)='+IntToStr(Sec)+')');

 AdoQuery1.Open;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 AdoQuery1.SQL.Clear;
 AdoQuery1.SQL.Add('Select * From TableTest ' +
 'Where ((Int(ChampDate)>#10/10/2007#) And ' +
 '(Int(ChampDate)<#12/11/2007#)) Or ' +
 '(Int(ChampDate)=#10/10/2007#) Or ' +
 '(Int(ChampDate)=#12/10/2007#)');

 AdoQuery1.Open;
end;

end.

Conclusion

J'espére que ce source servira à ceux qui comme moi on galérait pour trouver un fonctionnement plus ou moins sympatique entre Delphi

Comme c'est mon premier source pardon pour les écarts avec la régle.
Je ferais mieux la prochaine fois.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   BaseAccess
    • DataBase.mdbTélécharger ce fichier [Réservé aux membres club]147 456 octets
    • Project1.bdsprojTélécharger ce fichier [Réservé aux membres club]8 475 octets
    • Project1.bdsproj.localTélécharger ce fichier [Réservé aux membres club]902 octets
    • Project1.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier492 octets
    • Project1.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier188 octets
    • Project1.resTélécharger ce fichier [Réservé aux membres club]4 396 octets
    • Unit1.dcuTélécharger ce fichier [Réservé aux membres club]6 936 octets
    • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]2 157 octets
    • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 959 octets

Télécharger le zip

  • signaler à un administrateur
    Commentaire de yvessimon le 03/12/2007 09:11:53

    Bonjour,

    Bon exemple ACCESS avec SQL

    Par contre initialiser  ADOConnection1.ConnectionString à l'exécution si la base access existe
    Ce qui permet en plus de chamger de base ACCESS.
    Voir pour cela mon exemple avec excel.
    redimentionner la dggrille afin qu'elle soit lisible dbgrid1.Columns[i].width := 1...

    Salutations

  • signaler à un administrateur
    Commentaire de cantador le 05/12/2007 19:00:49

    Salut aghtor,

    C'est un exercice sur les requêtes SQL ACCESS..
    Il y a bcp de tutos à ce sujet un peu partout sur le net..
    Le mieux est encore d'utiliser des requêtes paramétrées :
    "Where ChampDate =:param"
    AdoQuery1.ParamByName('param').Value := DonneeDateHeure;
    ce qui offre un traitement plus aisé des données et une simplification du SQL..
    et peut-être même un poil de rapidité en plus à l'exécution..

  • signaler à un administrateur
    Commentaire de kahloch le 01/02/2008 01:03:39 7/10

    tres bien

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS