donkeyz
Messages postés4Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention12 novembre 2009 12 nov. 2009 à 09:30
Bonjour,
comment faites-vous pour insérer une image dans la mdb ?
Si je le fait, sa m'apparait sous forme Package et non Donnée binaire
puis delphi ne peut l'appeler.
Aider-moi s.v.p
lord948
Messages postés34Date d'inscriptionjeudi 17 janvier 2008StatutMembreDernière intervention19 mai 2009 29 déc. 2008 à 14:30
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.
cs_JackNUMBER
Messages postés233Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention26 juin 20115 22 déc. 2007 à 10:52
superbe source !!
dommage que l'on puisse rechercher que par le code (ici du fournisseur).
merci beaucoup !
cs_mcapp
Messages postés71Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention15 décembre 2011 21 avril 2006 à 22:34
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+
cs_mcapp
Messages postés71Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention15 décembre 2011 21 avril 2006 à 13:44
Salut Mauricio,
Merci pour tes conseils !
Dans le code, on a :
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 !
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 19 avril 2006 à 11:49
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+
cs_mcapp
Messages postés71Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention15 décembre 2011 19 avril 2006 à 01:30
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 !
cs_mcapp
Messages postés71Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention15 décembre 2011 19 avril 2006 à 00:55
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 !
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 3 févr. 2006 à 10:18
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+
NetFree
Messages postés24Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 2 février 2006 2 févr. 2006 à 20:54
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
NetFree
Messages postés24Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 2 février 2006 2 févr. 2006 à 20:53
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);
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 2 févr. 2006 à 10:11
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+
NetFree
Messages postés24Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 2 février 2006 2 févr. 2006 à 00:43
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
NetFree
Messages postés24Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 2 février 2006 2 févr. 2006 à 00:41
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
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 22 sept. 2005 à 19:30
Pour les clés etrangères niquel... pour les tables de jointures çà me plante tout...
=> 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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 19 sept. 2005 à 11:40
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+
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 17 sept. 2005 à 11:49
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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 sept. 2005 à 19:00
De rien de rien !
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 15 sept. 2005 à 18:58
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.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 sept. 2005 à 18:54
Pour plus de précision, fait un double clique sur le compo, puis fait un click droit, il devrait y aparaitre "new field"!!!
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 sept. 2005 à 18:52
Ce qu' il te faut c' est déclarer des champs de type lookup dans ta table de ton compo TADOTable!!!
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 15 sept. 2005 à 18:50
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.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 sept. 2005 à 18:45
Il faut que tu crées les tables dans le fichier acess (.mdb)avec ACCESS justement...
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 15 sept. 2005 à 18:42
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 !
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 15 sept. 2005 à 18:37
C' est exactement comme tu dis !!!
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 15 sept. 2005 à 18:34
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 ?
12 nov. 2009 à 09:30
comment faites-vous pour insérer une image dans la mdb ?
Si je le fait, sa m'apparait sous forme Package et non Donnée binaire
puis delphi ne peut l'appeler.
Aider-moi s.v.p
29 déc. 2008 à 14:30
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.
22 déc. 2007 à 10:52
dommage que l'on puisse rechercher que par le code (ici du fournisseur).
merci beaucoup !
21 avril 2006 à 22:34
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+
21 avril 2006 à 13:44
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 !
19 avril 2006 à 11:49
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+
19 avril 2006 à 01:30
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 !
19 avril 2006 à 00:55
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 !
3 févr. 2006 à 10:18
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+
2 févr. 2006 à 20:54
merci
2 févr. 2006 à 20:53
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 :(
2 févr. 2006 à 10:11
Moi aussi j'en aurais besoin si quelqu' un sait comment faire!
A+
2 févr. 2006 à 00:43
merci encore
2 févr. 2006 à 00:41
merci
22 sept. 2005 à 19:30
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
19 sept. 2005 à 11:40
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+
17 sept. 2005 à 11:49
Cordialement.
Damien
15 sept. 2005 à 19:00
15 sept. 2005 à 18:58
Tient je t'ai mis 10/10 pour avoir eut la patience de repondre,
c'est super sympa merci ;-)
Cordialement.
Damien.
15 sept. 2005 à 18:54
15 sept. 2005 à 18:52
15 sept. 2005 à 18:50
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.
15 sept. 2005 à 18:45
15 sept. 2005 à 18:42
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 !
15 sept. 2005 à 18:37
15 sept. 2005 à 18:34
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.