Access: rappel des clients

rappel.mdb


Il faut contacter des clients pour actualiser un fichier. On fait une base access dans laquelle on indique à quelle date le client a été appelé
Info: forum Access

Table T_Client avec les champs suivants:
- numero_client: champ clé:
> - nom
- appel1, 2, 3 et : date/heure date, g&énéral 10.05.2004 15:30:20
- appel1_jour, 2, 3 et 4: date/heure daate, abrégé 10.05.2004
- appel1_heure, 2, 3 et 4: date/heure hheure, abrégé 15:05:20
- rappel1, 2, 3: date/heure date, abr&eeacute;gé 10.05.2004



On crée un formulaire.


En mode création, on ouvre les propriétés des champs appels


Dans l'onglet Événement on ouvre le champ Sur clic en cliquant sur le bouton avec les 3 petits points.


On choisit le générateur de code.


Une fenêtre en Visual Basic s'ouvre.


On insère le code suivant:
Private Sub appel1_Click()
appel1.Value = Now()
End Sub


On sauvegarde et on ferme le visual basic.
Note: on met Ctl devant le nom du champ, si il commence par un chiffre.

On obtient un formulaire avec des champs vides. On inscrit le code client et le nom du client. Si on clique dans le champ appel1, la date s'inscrit automatiquement.

On insère 2 autres champs pour avoir seulement la date du jour, et l'heure (cela permettra de faire des requêtes basées sur la date.



On ouvre de nouveau le formulaire en mode création, et on ouvre les propriétés des champs appel fait la même chose en visual Basic pour les autres champs appel2, appel3 et appel4.


De cette façon, on indique les différentes dates auxquelles le client a &eté appelé par un simple clic dans le champ correspondant.


On ajoute un champ de rappel automatique, qui correspond à la date de premier appel, plus 2 jours


Dans le code visual Basic, on ajoute:
rappel1.Value = appel1_jour + 2



Alternative : Exemple de fonction DateAdd (AjDate)

L'exemple suivant vous indique comment cr�er un contr�le calcul� � l'aide de 
la fonction AjDate (DateAdd) pour afficher la date � laquelle une commande 
particuli�re doit �tre envoy�e  � ; dans ce cas, trente jours apr�s la date 
de commande. Supposez que vous avez un formulaire bas� sur la table Commandes,
 dans lequel se trouve un champ appel� DateCommande. Vous pouvez cr�er une 
autre zone de texte dans le formulaire pour afficher la date d'exp�dition en
 param�trant la propri�t� SourceContr�le (ControlSource) de cette zone de 
 texte comme dans l'exemple suivant :

= AjDate("d", 30, [DateCommande])
On crée une nouvelle Table T_jour dans laquelle on inscrit les jours pendant lesquels les clients peuvent etre rappeles. Un Champ contient le jour de la semaine, l'autre champ contient le jour du mois


On ajoute dans la table T_client un champ lié à cette table T_jour par le jour du mois.
On insère le champ dans le formulaire.


On crée un formulaire F_rappel dans lequel on insère une zone de texte, que l'on nomme date_du_jour

On modifie les propriétés de ce champ (on clic = date du jour) comme on a fait pour les autre champ de la table.


On ajoute une table T_heure et une table T_minute.


Dans la table T_client, on ajoute un champ heure et un champ minute, basés sur les table t_heure et t_minute. Dans le formulaire f_client, on rajoute ces 2 champs heure et minute.


Requête pour les rappels
Il y a 2 sortes de rappel:
- les rappels automatiques, lorsque le client n'a pas encore été joint.
- les rappels souhaités par le cclient

Dans la table T_client, on ajoute un champ oui/non qui indique que le client veut être rappelé. On ajoute un champ: adresse_ok, un champ: arret, un champ commentaire et un champ agent.

On crée maintenant une requête R_rappel_client basée sur la table t_client pour afficher tous les clients ayant souhaité un rappel, en fonction de la date du jour, inscrite dans le formulaire f_rappel.

Le formulaire F_rappel doit être ouvert. On ouvre la requêtre R_rappel_client en mode création. Le champ oui/non Rappel_client doit avoir le critère vrai (true, wahr). Le champ jour doit être trié par ordre croissant. Le champ Adresse_ok et le champ arret doivent avoir le critère Faux (False, falsch). De cette façon, on obtient les clients dont les adresses n'ont pas encore étés qualifiées, et pas ceux qui ne doivent plus être contactés.


Le formulaire f_client contient les champs suivants maintenant:


On fait une copie f_rappel_client du formulaire f_client.
On ouvre les propriétés du formulaire f_rappel_client et on prend la requête r_rappel_client comme source des données.


On crée maintenant une requête qui montre les clients à rappeler un jour précis.
On fait une copie r_rappel_client_jour à partir de la requête R_rappel_client. On a laissé le formulaire f_rappel ouvert. Dans la requéte, on indique dans le critère du champ jour que la valeur à prendre est celle du formulaire f_rappel.







On fait une copie f_rappel_client_jour du formulaire f_rappel_client, on ouvre les proprietes et on met r_rappel_client_jour en source de donnees.

Dans le formulaire f_rappel, on ajoute un bouton qui ouvre le formulaire f_rappel_client_jour.


Alternative
champ jour_appel, heure_appel, jour_rappel et jour_rappel_test
Bouton Commande14 "inserer la date" avec evenements - procedure evenementielle
Private Sub Commande14_Click() jour_appel.Value = Date heure_appel.Value = Now() jour_rappel.Value = jour_appel + 2 jour_rappel_test.Value = jour_rappel End Sub Bouton + pour ajouter un jour au jour de rappel Private Sub Commande15_Click() jour_rappel.Value = jour_rappel_test + 1 jour_rappel_test.Value = jour_rappel End Sub Bouton - pour enlever un jour au jour de rappel Private Sub Commande17_Click() jour_rappel.Value = jour_rappel_test - 1 jour_rappel_test.Value = jour_rappel End Sub
Retour
MAJ 15.05.2004
Hosted by www.Geocities.ws

1