begin process at 2012 02 11 15:51:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > ANNUAIRE V1.0.0

ANNUAIRE V1.0.0


 Information sur la source

Note :
9,67 / 10 - par 3 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Classé sous :TDataSource, TClientDataSet, mybase, MidasLib Niveau :Débutant Date de création :04/03/2010 Date de mise à jour :06/03/2010 14:37:27 Vu / téléchargé :3 898 / 602

Auteur : Christophe67

Ecrire un message privé
Site perso
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Premier micro-projet concernant la base de données intégrée MyBase.
Programmation d'un annuaire téléphonique avec ajout, modification et effacement des enregistrements et classement alphabétique automatique.
Fourni avec le source, un tutorial sur la création d'une base MyBase avec l'IDE et la relation avec des composants TDBEdit et TDBMemo.

Source

  • * {===============================================================================
  • * Code Source : BEAUMONT Christophe
  • * Version : 1.0.1
  • * Date : 04 Mars 2010
  • *
  • * Micro-projet 01 - Exemple d'utilisation de MyBase, une base de données reposant
  • * sur le composant TClientDataSet et permettant de développer des applications
  • * pour accéder à des données de faible taille en locale. De plus MyBase est très
  • * léger à déployer puisqu'il suffit de redistribuer le programme avec "midas.dll"
  • * ou bien de l'intégrer au programme en incluant "MidasLib" dans la partie "Uses".
  • * Le tri alphabétique se fait automatiquement en déclarant le champ "Nom" dans la
  • * propriété "IndexFieldNames" du composant TClientDataSet.
  • * ===============================================================================}
  • * unit f_main;
  • *
  • * interface
  • *
  • * uses
  • * Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • * Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, DB, XPMan, DBClient, MidasLib;
  • *
  • * type
  • * TMonAnnuaire = class(TForm)
  • * CDS1: TClientDataSet;
  • * DS1: TDataSource;
  • * XPLook: TXPManifest;
  • * CDS1ID: TAutoIncField;
  • * CDS1Nom: TStringField;
  • * CDS1Prénom: TStringField;
  • * CDS1NumDomicile: TStringField;
  • * CDS1NumPortable: TStringField;
  • * CDS1NumTravail: TStringField;
  • * CDS1Télécopie: TStringField;
  • * CDS1Adresse: TStringField;
  • * CDS1Email: TStringField;
  • * CDS1Infos: TStringField;
  • * DBGrid1: TDBGrid;
  • * LabNom: TLabel;
  • * DBNom: TDBEdit;
  • * LabPrenom: TLabel;
  • * DBPrenom: TDBEdit;
  • * LabDomicile: TLabel;
  • * DBDomicile: TDBEdit;
  • * LabPortable: TLabel;
  • * DBPortable: TDBEdit;
  • * LabTravail: TLabel;
  • * LabTelecopie: TLabel;
  • * DBTravail: TDBEdit;
  • * DBTelecopie: TDBEdit;
  • * LabEmail: TLabel;
  • * DBEmail: TDBEdit;
  • * LabAdresse: TLabel;
  • * DBAdresse: TDBMemo;
  • * LabInfos: TLabel;
  • * DBInfos: TDBMemo;
  • * Ajouter: TButton;
  • * Valider: TButton;
  • * Effacer: TButton;
  • * APropos: TButton;
  • * Recherche: TEdit;
  • * LabRecherche: TLabel;
  • * procedure FormCreate(Sender: TObject);
  • * procedure FormDestroy(Sender: TObject);
  • * procedure EffacerClick(Sender: TObject);
  • * procedure ValiderClick(Sender: TObject);
  • * procedure AjouterClick(Sender: TObject);
  • * procedure RechercheChange(Sender: TObject);
  • * private
  • * { Déclarations privées }
  • * public
  • * { Déclarations publiques }
  • * end;
  • *
  • * var
  • * MonAnnuaire: TMonAnnuaire;
  • *
  • * implementation
  • *
  • * {$R *.dfm}
  • *
  • * procedure TMonAnnuaire.ValiderClick(Sender: TObject);
  • * begin
  • * // Si CDS1 est en mode Insertion ou Edition
  • * if CDS1.State in [dsInsert, dsEdit] then
  • * // Alors on valide l'ajout ou la modification
  • * CDS1.Post;
  • * end;
  • *
  • * procedure TMonAnnuaire.AjouterClick(Sender: TObject);
  • * begin
  • * // Ajouter un nouvel enregistrement
  • * CDS1.Append;
  • * end;
  • *
  • * procedure TMonAnnuaire.EffacerClick(Sender: TObject);
  • * begin
  • * // On va s'assurer qu'on veut bien effacer l'enregistrement
  • * if MessageDlg('Supprimer l''enregistrement ?',mtconfirmation,[mbok,mbcancel],0)=mrok then
  • * // Si OK, on efface !
  • * CDS1.Delete;
  • * end;
  • *
  • * procedure TMonAnnuaire.FormCreate(Sender: TObject);
  • * var FileName : String;
  • * begin
  • * // Récupère le chemin d'accès à notre programme et ajoute le fichier binaire
  • * FileName:=ExtractFilePath(Application.ExeName)+'bottin.dat';
  • * // si le fichier existe
  • * if FileExists(FileName) then
  • * begin
  • * // Alors on ouvre le contenu
  • * CDS1.LoadFromFile(FileName);
  • * // Et on active la base
  • * CDS1.Open;
  • * end
  • * else
  • * begin
  • * // Si le fichier n'existe pas alors on efface les champs éventuels
  • * CDS1.FieldDefs.Clear;
  • * // Et on construit une table neuve et vide
  • * CDS1.FieldDefs.Add('ID',ftAutoInc,0);
  • * CDS1.FieldDefs.Add('Nom',ftString,30);
  • * CDS1.FieldDefs.Add('Prénom',ftString,20);
  • * CDS1.FieldDefs.Add('NumDomicile',ftString,10);
  • * CDS1.FieldDefs.Add('NumPortable',ftString,10);
  • * CDS1.FieldDefs.Add('NumTravail',ftString,10);
  • * CDS1.FieldDefs.Add('Télécopie',ftString,10);
  • * CDS1.FieldDefs.Add('Adresse',ftString,180);
  • * CDS1.FieldDefs.Add('Email',ftString,100);
  • * CDS1.FieldDefs.Add('Infos',ftString,200);
  • * CDS1.CreateDataSet;
  • * CDS1.Open;
  • * end;
  • * end;
  • *
  • * procedure TMonAnnuaire.FormDestroy(Sender: TObject);
  • * begin
  • * // On ne quitte pas le programme sans sauvegarder nos données
  • * CDS1.SaveToFile(ExtractFilePath(Application.ExeName)+'bottin.dat',dfBinary);
  • * end;
  • *
  • * procedure TMonAnnuaire.RechercheChange(Sender: TObject);
  • * var Option : TLocateOptions;
  • * begin
  • * // Option = Ignore les majuscules et la case / Recherche partielle sur le nom
  • * Option := [loCaseInsensitive]+[loPartialKey];
  • * // On cherche dans le champ "Nom" le texte entré dans le TLabel
  • * CDS1.Locate('Nom',Recherche.Text,Option);
  • * end;
  • *
  • * end.
  • *
    * {===============================================================================
    * Code Source : BEAUMONT Christophe
    * Version : 1.0.1
    * Date : 04 Mars 2010
    *
    * Micro-projet 01 - Exemple d'utilisation de MyBase, une base de données reposant
    * sur le composant TClientDataSet et permettant de développer des applications
    * pour accéder à des données de faible taille en locale. De plus MyBase est très
    * léger à déployer puisqu'il suffit de redistribuer le programme avec "midas.dll"
    * ou bien de l'intégrer au programme en incluant "MidasLib" dans la partie "Uses".
    * Le tri alphabétique se fait automatiquement en déclarant le champ "Nom" dans la
    * propriété "IndexFieldNames" du composant TClientDataSet.
    * ===============================================================================}
    * unit f_main;
    *
    * interface
    *
    * uses
    * Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    * Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, DB, XPMan, DBClient, MidasLib;
    *
    * type
    * TMonAnnuaire = class(TForm)
    * CDS1: TClientDataSet;
    * DS1: TDataSource;
    * XPLook: TXPManifest;
    * CDS1ID: TAutoIncField;
    * CDS1Nom: TStringField;
    * CDS1Prénom: TStringField;
    * CDS1NumDomicile: TStringField;
    * CDS1NumPortable: TStringField;
    * CDS1NumTravail: TStringField;
    * CDS1Télécopie: TStringField;
    * CDS1Adresse: TStringField;
    * CDS1Email: TStringField;
    * CDS1Infos: TStringField;
    * DBGrid1: TDBGrid;
    * LabNom: TLabel;
    * DBNom: TDBEdit;
    * LabPrenom: TLabel;
    * DBPrenom: TDBEdit;
    * LabDomicile: TLabel;
    * DBDomicile: TDBEdit;
    * LabPortable: TLabel;
    * DBPortable: TDBEdit;
    * LabTravail: TLabel;
    * LabTelecopie: TLabel;
    * DBTravail: TDBEdit;
    * DBTelecopie: TDBEdit;
    * LabEmail: TLabel;
    * DBEmail: TDBEdit;
    * LabAdresse: TLabel;
    * DBAdresse: TDBMemo;
    * LabInfos: TLabel;
    * DBInfos: TDBMemo;
    * Ajouter: TButton;
    * Valider: TButton;
    * Effacer: TButton;
    * APropos: TButton;
    * Recherche: TEdit;
    * LabRecherche: TLabel;
    * procedure FormCreate(Sender: TObject);
    * procedure FormDestroy(Sender: TObject);
    * procedure EffacerClick(Sender: TObject);
    * procedure ValiderClick(Sender: TObject);
    * procedure AjouterClick(Sender: TObject);
    * procedure RechercheChange(Sender: TObject);
    * private
    * { Déclarations privées }
    * public
    * { Déclarations publiques }
    * end;
    *
    * var
    * MonAnnuaire: TMonAnnuaire;
    *
    * implementation
    *
    * {$R *.dfm}
    *
    * procedure TMonAnnuaire.ValiderClick(Sender: TObject);
    * begin
    * // Si CDS1 est en mode Insertion ou Edition
    * if CDS1.State in [dsInsert, dsEdit] then
    * // Alors on valide l'ajout ou la modification
    * CDS1.Post;
    * end;
    *
    * procedure TMonAnnuaire.AjouterClick(Sender: TObject);
    * begin
    * // Ajouter un nouvel enregistrement
    * CDS1.Append;
    * end;
    *
    * procedure TMonAnnuaire.EffacerClick(Sender: TObject);
    * begin
    * // On va s'assurer qu'on veut bien effacer l'enregistrement
    * if MessageDlg('Supprimer l''enregistrement ?',mtconfirmation,[mbok,mbcancel],0)=mrok then
    * // Si OK, on efface !
    * CDS1.Delete;
    * end;
    *
    * procedure TMonAnnuaire.FormCreate(Sender: TObject);
    * var FileName : String;
    * begin
    * // Récupère le chemin d'accès à notre programme et ajoute le fichier binaire
    * FileName:=ExtractFilePath(Application.ExeName)+'bottin.dat';
    * // si le fichier existe
    * if FileExists(FileName) then
    * begin
    * // Alors on ouvre le contenu
    * CDS1.LoadFromFile(FileName);
    * // Et on active la base
    * CDS1.Open;
    * end
    * else
    * begin
    * // Si le fichier n'existe pas alors on efface les champs éventuels
    * CDS1.FieldDefs.Clear;
    * // Et on construit une table neuve et vide
    * CDS1.FieldDefs.Add('ID',ftAutoInc,0);
    * CDS1.FieldDefs.Add('Nom',ftString,30);
    * CDS1.FieldDefs.Add('Prénom',ftString,20);
    * CDS1.FieldDefs.Add('NumDomicile',ftString,10);
    * CDS1.FieldDefs.Add('NumPortable',ftString,10);
    * CDS1.FieldDefs.Add('NumTravail',ftString,10);
    * CDS1.FieldDefs.Add('Télécopie',ftString,10);
    * CDS1.FieldDefs.Add('Adresse',ftString,180);
    * CDS1.FieldDefs.Add('Email',ftString,100);
    * CDS1.FieldDefs.Add('Infos',ftString,200);
    * CDS1.CreateDataSet;
    * CDS1.Open;
    * end;
    * end;
    *
    * procedure TMonAnnuaire.FormDestroy(Sender: TObject);
    * begin
    * // On ne quitte pas le programme sans sauvegarder nos données
    * CDS1.SaveToFile(ExtractFilePath(Application.ExeName)+'bottin.dat',dfBinary);
    * end;
    *
    * procedure TMonAnnuaire.RechercheChange(Sender: TObject);
    * var Option : TLocateOptions;
    * begin
    * // Option = Ignore les majuscules et la case / Recherche partielle sur le nom
    * Option := [loCaseInsensitive]+[loPartialKey];
    * // On cherche dans le champ "Nom" le texte entré dans le TLabel
    * CDS1.Locate('Nom',Recherche.Text,Option);
    * end;
    *
    * end.
*


 Conclusion

Premiers pas dans l'étude des bases de données.
Prochain programme probablement avec la relation maître-détail.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Annuaire.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier250 octets
  • bottin.datTélécharger ce fichier [Réservé aux membres club]2 092 octets
  • f_main.dfmTélécharger ce fichier [Réservé aux membres club]6 227 octets
  • f_main.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 719 octets
  • Tutorial.pdfTélécharger ce fichier [Réservé aux membres club]153 197 octets

Télécharger le zip


 Historique

06 mars 2010 14:31:11 :
Les composants ont été renommés en retirant les caractères accentués pour les versions delphi7 et moins.
06 mars 2010 14:37:28 :
Mise à jour du code en v1.0.1

 Sources du même auteur

Source avec Zip Source avec une capture FIREMONKEY : PATHDATA ET FORMAT SVG
Source avec Zip Source avec une capture FIREMONKEY : ROTATION CUBE
Source avec Zip Source avec une capture FIREMONKEY : HELLO WORLD !
Source avec Zip Source avec une capture MÉMO V1.0.0
Source avec Zip Source avec une capture CHRONOS V1.0.0

 Sources de la même categorie

Source avec Zip Source avec une capture STOCKEUR CODE SOURCE par PythonGreg
Source avec Zip Source avec une capture EXEMPLE UTILISATION DBGRID par HAFTARIFOUAD
Source avec Zip EXPORTE TABLE VER EXCEL par apcmorsott
Source avec Zip Source avec une capture BAK_RESORT POUR SGBD INTERBASE par solitair
Source avec Zip Source avec une capture GESTION DES CODE POSTAUX AVEC UNE BASE ACCESS par AlexFr23

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GÉNÉRATEUR DE CALENDRIER TYPE AGENDA par beckerich
Source avec Zip Source avec une capture CRÉATION D'UNE TABLE XML PAR PROGRAMMATION. par HAFTARIFOUAD
Source avec Zip Source avec une capture UN PETIT GÉNÉRATEUR DE FACTURES par ROCABDEL

Commentaires et avis

Commentaire de Delphiprog le 04/03/2010 19:59:11 administrateur CS 10/10

Je salue l'excellente qualité de ce source/tutoriel qui représente un travail conséquent.

Juste une chose, il me semble que le composant TClientDataset n'est pas disponible dans toutes les versions de Delphi (minimum version Pro).

Merci Christophe.

Commentaire de MAURICIO le 05/03/2010 10:14:00 administrateur CS

Salut,

en effet, ça fait plaisir de voir un code propre et indenté.
Les compos sont nommés, impecc'

Pour ce qui est du ClientDataSet, il me semble qu' il n' est présent que depuis Delphi 7 sauf pour les versions personnelles de Delphi.

A+

Commentaire de defis91 le 05/03/2010 11:52:21

Bonjour,
Je trouve que vous êtes bien généreux avec notre amis Christophe qui se contente de mettre en forme le help de Delphi ou de pomper outrageusement des softs sur les sites de Delphi :
http://delphipage.free.fr/mybase.html
A+
Dom

Commentaire de MAURICIO le 05/03/2010 11:56:30 administrateur CS

(Mal)heureusement, on est pas des machines qui consultent et classent et enregistrent le contenu de tous les sites de programmation Delphi.
Il nous est donc impossible de savoir si une source est un plagiat ou pas ...

Sur ce, je préfère attendre que l' auteur s' exprime.

A+

Commentaire de yvessimon le 05/03/2010 11:57:31

Bonjour,

Heuu...
Ma version 7 de DELPHI n'accepte pas les lettres avec accents
est-ce une configuration à faire ?.

par contre la ligne :
Application.MainFormOnTaskbar := True;

donne une erreur
en suprimant cette ligne j'ai le message ?
RLINK32/ UNSUPPORTED 16BIT RESOURCE IN FILE F_main.dfm

Salutations


Commentaire de Christophe67 le 05/03/2010 12:34:16

Bonjour,

En tant que débutant (à peine 15j sur Delphi), il est évident que je me suis inspiré d'exemples trouvés par ici ou par là, cependant le travail concernant le tutoriel n'est que de mon fait ainsi que tous les commentaires du code source. Je n'ai pas pour prétention de réinventer la roue mais uniquement de diffuser le résultat de mes recherches de façon pédagogique comme j'aurais aimé moi-même en trouver en débutant. Je ne me suis inspiré de plus que de sources provenant de Delphi.fr ne connaissant pas Delphipage.
On peut considérer comme une forme de plagiat le fait de retranscrire le résultat ce qui a été appris par d'autres, tout comme DEFIS91 plagie lorsqu'il fait une addition qui lui a été apprise par un professeur des écoles. Tu soulèves un point philosophique intéressant ;)

Salutations.

Commentaire de Christophe67 le 05/03/2010 12:45:08

Pour YvesSimon,

J'ai lu dans le forum de Delphi.fr que l'erreur produite par : Application.MainFormOnTaskbar := True;
était affichée sur les versions de Delphi inférieures à la 2007 (j'utilise 2010) et que normalement il suffisait d'ôter cette déclaration.
Maintenant je ne sais pas pour l'erreur suivante. Désolé.

Salutations.

Commentaire de yvessimon le 05/03/2010 13:10:01

Bonjour,

Merci pour l'info .

c'est une piste pour mes recherches.

Salutations

Commentaire de Christophe67 le 05/03/2010 13:17:53

Pour DEFIS91,

Je viens de regarder la page de Delphipage, je reconnais que la forme de leur tutoriel et du mien est troublante sur la forme, cependant là on l'on voit que ce n'est pas un plagiat outrageux c'est que l'auteur n'utilise pas CD1.Open après la création de la table par code, ce qui cause une erreur lorsque bottin.dat est inexistant, il utilise la forme XML de mybase alors que j'utilise la forme Binaire mais ceci est quasi un détail et enfin l'auteur de l'article ne travaille que dans un TDBGrid alors que j'utilise la relation entre myBase et les composants TDBEdit et TDBMemo.
Désolé d'avoir voulu rassemblé les connaissances collectées en un programme que tu qualifies de plagiat.

Salutations.

Commentaire de MAURICIO le 05/03/2010 13:23:54 administrateur CS 9/10

D' après ton explication, personne n' a le droit de dire que c' est du plagiat.
De plus, le fait de récupérer les bonnes idées à droite à gauche permet non seulement de regrouper des connaissances dans une seule source, mais aussi permet de progresser et d' améliorer exemples existants.

Il faut dire aussi, on fait tous du plagiat et que de toute façon, il n' y a pas 50 méthodes pour ouvrir une table mybase avec un ClientDataset, et, de ce fait, même intentionnellement, on a tous à peu près le même code et il est difficile de faire original :)  

A+

Commentaire de Delphiprog le 06/03/2010 09:12:05 administrateur CS

Je ne veux pas rentrer dans la polémique de savoir si c'est un plagiat ou non. En effet, comme le souligne Mauricio, il n'y a pas 36 manières d'utiliser un TClientDataSet en tant que composant d'accès direct aux données. En revanche, un code clair, bien présenté, bien documenté et agrémenté d'un tutoriel bien foutu, ça ne court pas les rues. Et tout ça, c'est uniquement l'½uvre de Christophe.
On a trop l'habitude de voir des copier/coller de codes pourris et là, pour moi, c'est une bouffée d'oxygène qui me fait du bien.
Dois-je aussi ajouter que le tout est rédigé dans un français impeccable ?

Ce petit gars mérite beaucoup qu'on lui prête attention et qu'on l'encourage.

Commentaire de defis91 le 06/03/2010 13:14:30

Bonjour Christophe
D'accord avec Delphiprog, ça fait du bien de voir un jeune qui en veut et qui soigne son français! Si tu en est là au bout de 15 jours, tu as effectivement un gros potentiel.
Petit bémol, évite de nommer tes objets avec des voyelles accentuées qui ne passent pas avec des versions de delphi 7 et moins.
Selon les dernières stats, 46% des delphinautes utilisent encore delphi 5-7.
36% utilisent 2009+.
N'hésite pas non plus à citer tes sources.
Cela dit, j'ai hâte de voir tes réalisations personnelles dans quelques temps.
Ton programme a par ailleurs remis un coup de projecteur sur Midas.
Pour ceux que ça intéresse, Embarcadero facture la licence Midas 5000 euros quand on veut faire du machine to machine en pro. (pas de commentaire) http://edn.embarcadero.com/tr/print/20870

Bon week-end à tous
Dom

Commentaire de Christophe67 le 06/03/2010 14:19:02

Bonjour à tous,

Tout d'abord merci pour vos encouragements.
Je ne savais pas pour les accents je vais donc corriger mon source actuel et en tenir compte pour le futur.
Quand à mes sources c'est 4 programmes compilables sur MyBase trouvés sur ce site ainsi que deux articles d'un blog dont voici les références :
- http://www.theworldofdelphi.com/blog/index.php?post/2008/08/28/Une-mini-base-de-donnees-integree-dans-Delphi
- http://www.theworldofdelphi.com/blog/index.php?post/2008/09/05/Utilisation-de-MyBase-pour-faire-un-fichier-de-configuration
Quant à mon travail disons que je m'efforce de produire des programmes pour débutants faits par un débutant, je reproduis donc en majeure partie ce que j'apprends moi-même et ce qui me fait progresser mais surtout ce que je comprends.

Salutations.

Commentaire de Christophe67 le 06/03/2010 14:32:22

Voilà c'est fait.
v 1.0.1 de l'annuaire, tous les composants avec accents ont été renommés.

Salutations

Commentaire de Caribensila le 09/03/2010 04:26:17 10/10

Extrait de WikipediA :
« La meilleure façon de s'affranchir d'une accusation de plagiaire est de citer systématiquement les sources sur lesquelles son travail est fondé... »

Mais c'est un détail insignifiant ici.

Je mets 10/10 pour la participation pédagogique dont j'espère beaucoup s'inspireront.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Explication Message d'erreur [ par khawarizm ] Salut Les zamis ; je vous serais très reconnaissant si vous pouvez m'expliquer l'origine de l'erreur suivante ; Voila mes amis , je commence en Delp TClientDataSet et rajout de colonnes [ par mike255 ] Bonjour, J'utilise un TClientDataSet avec un fichier XML pour sauvegarder les paramètres de mon programme. La table que j'utilise s'appele contacts.x Problème MyBase et xml [ par cahu2004 ] Bonjour, depuis le transfert d'un projet delphi 7 depuis un PC bureau (XP Famil) vers mon asus (XP pro), lors de la compilation sur asus, un bug persi fonction retournant un objet [ par Sat83 ] Bonjour a tous!J'ai un probleme avec une fonction retournant un objet. D'habitude pour les fonctions retournant un objet, je n'ai pas de soucis. Voilà Probleme avec TClientDataSet, je sais pas quoi faire! [ par othland ] Bonjour tous le monde,je sais que c'est une question debile d'habitude je travaille avec un ADOConnection, ADOQuery et DataSource plus un DBGrid, et j Trier une table MyBase [ par Christophe67 ] Bonjour à tous, Existe il un moyen de trier une table MyBase, par exemple par ordre alphabétique pour un champ "NOM", de façon automatique à partir d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,588 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales