Inserer une date automatiquement

laamamel Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -  
 Firta -
Bonjour,

j'ai un champ tmaskedit comment afficher selectionner directement une date sans saisir
merci et bon courage
j'attends une reponse.

3 réponses

  1. Profil bloqué
     
    Le code suivant définit un masque de saisie numérique : jj/mm/aaaa, compatible avec la configuration locale de la machine hôte et charge la date en cours dans le composant MaskEdit1.

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    MaskEdit1.EditMask := '00/00/0000;1';
    MaskEdit1.Text := '';
    MaskEdit1.Text := DateToStr(Now);
    end;
    end.
    0
    1. laamamel Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
       
      bonjour
      je vais essayé de détailler mon problème
      j'ai un champ date de naissance je veux éviter la saisie par les utilisateurs
      pour cela j'ai crée d'abord un composant maskedit puis j'ai trouvé un composant datetimepicker il m'affiche le calendrier mais il sauvegarde pas dans le champs de base de données access 'date de naissance' je crois il y a un détaille qui m'échappe
      sachant que je suis débutante en delphi 7
      0
    2. Profil bloqué
       
      Enfin !. Tu reconnais que tu n'as pas suffisamment détaillé ton problème, autrement personne ne peut lire dans tes pensées.

      - Que tu utilisais un MaskEdit standard, ou tu appliquais un masque de saisie à un contrôle orienté donnée, le format de date appliqué au masque doit etre celui du composant DateTimePicker définit dans la configuration système locale.

      - Dans l'evenement OnCloseUp { Une fois la date selectionnée le composant
      DateTimePicker. se ferme et charge la date dans le recepteur renseigné


      procedure TForm1.DateTimePicker1CloseUp(Sender: TObject);
      begin
      { Pour un composant standard }
      Maskedit1.Text:= DateToStr(DateTimePicker1.Date);

      { Pour un composant orienté donnée }
      VotreTable.FieldValues['Libellé du champ date dans la table'] := DateTimePicker1.Date
      end;

      end.
      0
    3. laamamel Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
       
      bonjour
      je tiens vraiment à vous remercier pour votre aide
      quand je selectionne la date aprés execution du projet il m'affiche cette erreur:
      le projet a provoqué une classe d'exception EDATABASE ERROR avec le message 'ADO Table_renseigne' l'ensemble de données n'est pas en mode edition ou insertion
      sachant que adotable_renseigne c'est le nom de la table connecte voici la source:

      procedure Tfrm_renseignement.DateTimePicker1CloseUp(Sender: TObject);
      begin
      { Pour un composant orienté donnée }
      ADOTable_reseigne.FieldValues['date_naiss']:= DateTimePicker1.Date;
      end;
      et bonne journée
      0
    4. laamamel Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
       
      voici l'unite :

      unit u_renseig;

      interface

      uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DBActns, StdActns, ActnList, Menus, StdCtrls, Mask, DBCtrls,
      Grids, DBGrids, DB, ADODB, Buttons, ComCtrls;

      type
      Tfrm_renseignement = class(TForm)
      lbl_id: TLabel;
      lbl_nvlle: TLabel;
      Label1: TLabel;
      Label2: TLabel;
      Label3: TLabel;
      Label4: TLabel;
      Label5: TLabel;
      Label6: TLabel;
      Label7: TLabel;
      Button5: TButton;
      Button1: TButton;
      ActionList1: TActionList;
      Action1: TAction;
      EditCut1: TEditCut;
      EditCopy1: TEditCopy;
      EditPaste1: TEditPaste;
      EditUndo1: TEditUndo;
      EditDelete1: TEditDelete;
      DataSetFirst1: TDataSetFirst;
      DataSetPrior1: TDataSetPrior;
      DataSetNext1: TDataSetNext;
      DataSetLast1: TDataSetLast;
      DataSetInsert1: TDataSetInsert;
      DataSetDelete1: TDataSetDelete;
      DataSetEdit1: TDataSetEdit;
      DataSetPost1: TDataSetPost;
      DataSetCancel1: TDataSetCancel;
      DataSetRefresh1: TDataSetRefresh;
      Button2: TButton;
      Button3: TButton;
      Button4: TButton;
      Button7: TButton;
      Button8: TButton;
      Button9: TButton;
      DBEdit1: TDBEdit;
      ADOTable_reseigne: TADOTable;
      ADOConnection_renseigne: TADOConnection;
      DataSource_renseig: TDataSource;
      DBEdit2: TDBEdit;
      DBEdit3: TDBEdit;
      DBEdit5: TDBEdit;
      DBEdit6: TDBEdit;
      DBEdit7: TDBEdit;
      DBEdit8: TDBEdit;
      DBGrid1: TDBGrid;
      BitBtn2: TBitBtn;
      ComboBox_categorie: TComboBox;
      DateTimePicker1: TDateTimePicker;
      procedure Button10Click(Sender: TObject);
      procedure DateTimePicker1CloseUp(Sender: TObject);


      private
      { Déclarations privées }
      public
      { Déclarations publiques }
      end;

      var
      frm_renseignement: Tfrm_renseignement;

      implementation
      uses u_principal;
      {$R *.dfm}

      procedure Tfrm_renseignement.Button10Click(Sender: TObject);
      begin
      frm_principale.show;
      end;

      procedure Tfrm_renseignement.DateTimePicker1CloseUp(Sender: TObject);
      begin
      { Pour un composant orienté donnée }
      ADOTable_reseigne.FieldValues['date_naiss']:= DateTimePicker1.Date;
      end;
      end.
      0
    5. Profil bloqué
       
      * Je pense que tu es encore loin de pouvoir reussir un tel pari., tu dois d'abord apprendre les concepts relatifs aux opérations de manipulation des jeux de données.

      Ce message indique que le statut de la table est soit en Browser Mode soit inactive, si le statut de la TABLE en mode conception est FALSE il faut le passer en TRUE à l'exécution pour permettre l'ajout, la modification et la suppression.

      procedure Tfrm_renseignement.DateTimePicker1CloseUp(Sender: TObject);
      begin
      { Si le jeu de données est inactif alors : }
      ADOTable_reseigne.Active := True;
      ADOTable_reseigne.Insert;
      ADOTable_reseigne.FieldValues['date_naiss']:= DateTimePicker1.Date;
      // traitement des autres champs
      ADOTable_reseigne.Post; //Transaction des informations dans la table sous-jacente
      //quand on ne n'utilise pas de controles orientés données sinon pas d'appel à Post

      end;
      end.
      0
  2. laamamel Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
     
    BONJOUR
    je vous remercie pour votre solution
    mais je vais vous détaillez exactement ce que je veux:
    j'ai dans une bases de données le champ date de naissance
    moi je veux éviter la saisie pour les utilisateurs
    je veux créer un champ qui affiche un petit calendrier pour sélectionner la date naissance j'ai pensé à maskedit ou datetimepicker mais sa marche pas
    votre solution affiche la date de ce jour
    j'espère que je suis claire dans ma question.
    bon journée
    0
  3. Firta
     
    essaye sur Microsoft access qui peu créer un champ qui affiche un petit calendrier pour sélectionner la date !
    0