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 !

ACCESS AVEC TADOTABLE (BASE DE DONNÉES)


Information sur la source

Catégorie :Base de Donnees Niveau : Débutant Date de création : 07/02/2005 Date de mise à jour : 07/02/2005 12:55:14 Vu / téléchargé: 9 894 / 3 470

Note :
9,25 / 10 - par 4 personnes
9,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Cliquez pour voir la capture en taille normale
Base de données Access avec TADOConnection/TADOTable
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   ADO Access
    • AccessDemo.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier426 octets
    • AccessDemo.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 324 octets
    • AccessDemo.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier288 octets
    • AccessDemo.dskTélécharger ce fichier [Réservé aux membres club]6 520 octets
    • AccessDemo.resTélécharger ce fichier [Réservé aux membres club]876 octets
    • database.mdbTélécharger ce fichier [Réservé aux membres club]622 592 octets
    • dm_access.dcuTélécharger ce fichier [Réservé aux membres club]4 169 octets
    • dm_access.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • dm_access.dfmTélécharger ce fichier [Réservé aux membres club]1 525 octets
    • dm_access.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 181 octets
    • f_prin.dcuTélécharger ce fichier [Réservé aux membres club]9 119 octets
    • f_prin.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • f_prin.dfmTélécharger ce fichier [Réservé aux membres club]14 045 octets
    • f_prin.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 126 octets

Télécharger le zip

Historique

07 février 2005 12:55:15 :
Connection dans la OnCreate du DataModule.

Commentaires et avis

signaler à un administrateur
Commentaire de elguevel le 15/09/2005 18:34:38

Très bonne source.

Mais j'ai une question :

Imaginé que vous ayez les enfants des contacts à gerer : Donc vous avez votre table contact, votre table enfants, et une table de jointure entre les deux (Appartient_A).

Comment gerer les jointures avec ce systeme ? on rajoute un TADOTable ?

Merci.

Damien.

signaler à un administrateur
Commentaire de MAURICIO le 15/09/2005 18:37:57

C' est exactement comme tu dis !!!

signaler à un administrateur
Commentaire de elguevel le 15/09/2005 18:42:11

Ouaa... plus rapide tu meurt :) lol

Et concretement ? car j'ai justement ajouter un autre TADOTable, un autre DataSource, mais voila çà m'avance pas bcp :s

Bon j'vais chercher dans cette direction ... merci !

signaler à un administrateur
Commentaire de MAURICIO le 15/09/2005 18:45:01

Il faut que tu crées les tables dans le fichier acess (.mdb)avec ACCESS justement...

signaler à un administrateur
Commentaire de elguevel le 15/09/2005 18:50:14

C'est fait, en faite j'texplique mon cas : j'ai déja ma base de données faite avec Access 2000 (pour une divX Tèque personnalisé), nikel et tout.

J'ai crée les tables : FILM, ACTEUR, GENRE, FILM_ACTEUR (jointure). C'est qu'un debut pour le moment je pense l'agrandir par la suite.

J'ai meme fait mes relations sous MS Access.

Après je me suis inspiré de ta source pour créer mon projet, tout nikel, pratiquement pas une ligne de code et tout fonctionne niquel, là ou je me retrouve bloqué c'est pour afficher les acteurs correspondant au film via la table de jointure, et aussi pour retrouver le nom du genre via le numero de genre.

Voila .. j'chai pas si j'ai été claire ?

Merci beaucoup.

signaler à un administrateur
Commentaire de MAURICIO le 15/09/2005 18:52:33

Ce qu' il te faut c' est déclarer des champs de type lookup dans ta table de ton compo TADOTable!!!

signaler à un administrateur
Commentaire de MAURICIO le 15/09/2005 18:54:33

Pour plus de précision, fait un double clique sur le compo, puis fait un click droit, il devrait y aparaitre "new field"!!!

signaler à un administrateur
Commentaire de elguevel le 15/09/2005 18:58:35

Merci c'est cool j'ai trouvé, je vais voir ce que je peux faire avec çà.

Tient je t'ai mis 10/10 pour avoir eut la patience de repondre,
c'est super sympa merci ;-)

Cordialement.

Damien.

signaler à un administrateur
Commentaire de MAURICIO le 15/09/2005 19:00:58

De rien de rien !

signaler à un administrateur
Commentaire de elguevel le 17/09/2005 11:49:32

bon en faite j'en chie toujours car je sais pas quel propriétés appliquer a mes champs de mes TADOTable ni s'il faut dire à la table mère si faut que son champs pointe sur la fille ou l'inverse.. enfin j'ai du mal à m'exprimer mais c'est super mal documenté sur le net, pour ne pas dire qu'on n'aborde pas du tout les jointures !

Cordialement.

Damien

signaler à un administrateur
Commentaire de MAURICIO le 19/09/2005 11:40:49

Les calculated fields te permettent de préciser la valeur de tes champs dans l' événement OnCalcFields de la table. Imagine que tu as une table avec les champs QTD et VALEUR_UNITAIRE. Alors tu peux créer un Champ de type CalcField de nom TOTAL et de type Float. Ce champ n' est donc pas gardé dans la table physiquement puisqu' il n' existe pas mais pourra être visualisé avec sa valeur correcte gràce à l' evenement OnCalcField :
Table1TOTAL.Value := Table1QTD.Value * Table1VALEUR_UNITAIRE.Value;

Les champs lookup sont des champs qui vont chercher leur valeur sur une autre table. C' est très facile à utiliser.
Imagine que tu as une table de produits nommée tabProduits et une table fournisseur de ces produits nommée tabFour avec les champs COD et NOM.
Si tu veux visualiser le fournisseur pour chaque produits tu dois faire new field (dans la table tabProduits). Dans "Name" tu peux écrire ce que tu veux comme par ex. NomFour, c' est le nom que tu donnes au champ. Le type et la taille doivent être les mêmes que ceux dans le champ NOM de ta table tabFour. FieldType est donc de type Lookup.
En ce qui concerne la partie lookup definitions:
"KeyFields" représente la clé étrangère dans tabProduits. Qu 'est ce que ça veux dire? tout simplement que tu dois avoir un champ COD_FOUR dans ta table tabProduits. COD_FOUR possède la valeur du code fournisseur pour chaque produits.
DataSet est donc tabFour, c' est la table dans laquelle obn veut rechercher une valeur.
Lookup keys est tabFourCOD, ce qui veut dire que pour la valeur dans tabProduitsCOD_FOUR on va positionner le curseur de tabFour sur cette valeur pour pouvoir retourner la valeur du champ specifié dans Result field.
Result field est TabFourNOM, c' est la valeur du champ renvoyé.
J' espère que mes explications t' ont aidé.
A+

signaler à un administrateur
Commentaire de elguevel le 22/09/2005 19:30:14

Pour les clés etrangères niquel... pour les tables de jointures çà me plante tout...

En gros j'ai çà :

----------               ------------               --------------
|  FILM  |               | FILM_ACT |               |   ACTEUR   |
----------               ------------               --------------
|#ID_FILM|---------------|#ID_FILM  |       |-------|#ID_ACTEUR  |
|        |               |#ID_ACTEUR|-------|       | NOM_ACTEUR |
|  ...   |               |          |               |            |
----------               ------------               --------------

=> Et je voudrai recupérer tous les acteurs d'un film !


Mais bon j'vais essayé de me demerder un peu tout seul car j'doit te saouler là :-)

en tout cas tu ma déja bcp aidé !!!

Merci encore.

Damien

signaler à un administrateur
Commentaire de NetFree le 02/02/2006 00:41:44

salut, jai pris example sur ta source pour faire un programme de gestion de photo mais, on ne peux pas mettre dimage en format .jpg ... Tu serais comment règler se probleme?

merci

signaler à un administrateur
Commentaire de NetFree le 02/02/2006 00:43:42

J'ai oublier, il est possible de faire une rechrcher... example; on tape un # et sa va a sa numero dans le champs "cod"

merci encore

signaler à un administrateur
Commentaire de MAURICIO le 02/02/2006 10:11:51

Non désolé, je ne sais pas comment faire pour garder des jpgs ...

Moi aussi j'en aurais besoin si quelqu' un sait comment faire!
A+

signaler à un administrateur
Commentaire de NetFree le 02/02/2006 20:53:30

ok .. jai trouver pour le jpeg mais jai pas trouver pour faire une recherche... tu serais pas comment?

pour le jpeg:
tu met le use "jpeg"
tu met deux Timage avec un: image1 et lautre image2
tu met la valeur visible a false
et tu me le code :

procedure TFrmPrin.SBAssignPhotoClick(Sender: TObject);
begin
  If OpenPictureDialog1.Execute
  Then
    Try
    image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    Image2.Picture.Bitmap.Assign(Image1.Picture.Graphic);

      DMA.ADOClients.Edit;
      DBImg.Picture := image2.Picture;
      DMA.ADOClients.Post;
    Except
      ShowMessage('Registre actuellement en edition !');
    End;
end;


voila, moi sa marche... masi pas le recherche :(

signaler à un administrateur
Commentaire de NetFree le 02/02/2006 20:54:19

J'ai encore oublier.... tu sais comment faire pour mettre la taile de la photo la grandeur du DBImg ??? pcq la ma photo est trop grande..

merci

signaler à un administrateur
Commentaire de MAURICIO le 03/02/2006 10:18:41

Bem oui ça marche mais le problème c' est que c' est un bitmap qui est gardé dans la base de données ...

Pour la photo tu peux jouer avec la propriété Stretch ou encore redimensionner ton DBImage :
DBImage.Width := DBImg.Picture.Bitmap.Width;
DBImage.Height := DBImg.Picture.Bitmap.Height;
A+

signaler à un administrateur
Commentaire de mcapp le 19/04/2006 00:55:38

Source très intéressante !
J'ai beaucoup de plaisir à l'étudier !
Mais je me demande s'il me sera possible d'aboutir à un projet un peu différent dans lequel la modification de champ d'un enregistrement se ferait en cliquant sur cet enregistrement ce qui amène ouverture d'une nouvelle Unit ("formulaire") que l'on complète pour les modifier.
Ensuite, à la fermeture du formulaire, la table est mise à jour.
J'ai déjà fait un projet de ce type qui fonctionne bien, mais sans insertion possible d'un champ image avec un TBDImage.
Je voudrais donc partir de ton projet (avec TDBImage) mais utiliser l'ouverture d'un 2ème Unit ("formulaire") pour enregistrer ou modifier un enregistrement (avec champ Photo visible aussi sur ce formulaire).
Penses-tu que ce soit envisageable ?
Merci et Félicitations pour vos compétences à vous, les "Grands animateurs" de ce site !

signaler à un administrateur
Commentaire de mcapp le 19/04/2006 01:30:53

Excuse-moi !
Je viens d'avancer dans ma réflexion en étudiant encore davantage ton projet.
Je pense qu'il me suffira d'insérer une requête sur le formulaire
puis de placer des TEdit comme pour N°tel sur ton projet ainsi que la TDBImage.
Je vais étudier ensuite l'utisation de tes procédures pour lire la table ou enregistrer les changements dans la table.
Tu peux me confirmer que je suis "sur la bonne voie ?"
Merci !  

signaler à un administrateur
Commentaire de MAURICIO le 19/04/2006 11:49:25

Salut MCAPP,
ce que tu veux faire est très simple:
-Tu mets la table en edit mode
-Tu ouvres en ShowModal la 2eme form
-En fermant en cliquant sur un bouton Ok tu fais le Post de la table ou Cancel si l' utilisateur clique sur un bouton annuler.

Remarque: n' utilise pas de TEdit mais les TDBEdit :)
A+

signaler à un administrateur
Commentaire de mcapp le 21/04/2006 13:44:16

Salut Mauricio,
Merci pour tes conseils !
Dans le code, on a :

confirmation :=  MessageDlg('Désirez-vous enregistrer les modifications',
                               mtConfirmation, [mbYes, mbNo, mbAbort], 0);

Je ne trouve pas ces 3 composants button dans le message de dialogue.
Comment puis-je modifier le texte du bouton mbAbort pour remplacer "Abandonner" par "Ne pas fermer" par exemple ?
Merci !

signaler à un administrateur
Commentaire de MAURICIO le 21/04/2006 15:07:12

Vous en avez révé, Mauricio l' a fait:
http://www.delphifr.com/codes/MESSAGEDLG-DANS-IMPORTE-QUEL-LANGUE_28735.aspx

A+  :)

signaler à un administrateur
Commentaire de mcapp le 21/04/2006 22:34:40

Merci Mauricio pour ton aide !
Mais, je ne suis que débutant et hélas je dois avouer que je n'ai pas trouvé comment appeler cette fonction.
Je l'ai placée dans le code avant la procédure TFich.FormCloseQuery(Sender: TObject;  var CanClose: Boolean );
Quelle ligne écrire dans la procédure pour qu'elle utilise la fonction ?
A+

signaler à un administrateur
Commentaire de JackNUMBER le 22/12/2007 10:52:31 10/10

superbe source !!
dommage que l'on puisse rechercher que par le code (ici du fournisseur).


merci beaucoup !

signaler à un administrateur
Commentaire de lord948 le 29/12/2008 14:30:20

Bonjour.
J'aimerai savoir si c'est prossible de crée une relation en les tables access avec le compo TADOCommand(SQL), et comment les utliser sous delphi
Merci.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.