gestion des appels avec relances : problème formulaire / ss-formulaire
Le
Bonjour,
Je suis entrain de créer une bdd access basée sur 2 tables principales.
1 table contact
1 table relance
J'ai créé une requête a_relancer (basée sur ces 2 tables) avec pour champs :
-de la table contact : raison_sociale, contact, tel, numero_contact, date_appel, abouti, motifs_abouti, motifs_non_abouti
-de la table relance : num_relance, date, heure, commentaire, num_rappel, numero_contact
Je souhaiterai créer un formulaire modifiable (pour créer des nouvelles relances) qui, quand il s'ouvre :
-si le nombre de relance est >3 alors ça passe au contact suivant
-si le nombre de relance est >1 alors ça atteint la derniere relance
-si la date de relance est > à la date du jour ça passe au contact suivant
Merci de votre aide
Je suis entrain de créer une bdd access basée sur 2 tables principales.
1 table contact
1 table relance
J'ai créé une requête a_relancer (basée sur ces 2 tables) avec pour champs :
-de la table contact : raison_sociale, contact, tel, numero_contact, date_appel, abouti, motifs_abouti, motifs_non_abouti
-de la table relance : num_relance, date, heure, commentaire, num_rappel, numero_contact
Je souhaiterai créer un formulaire modifiable (pour créer des nouvelles relances) qui, quand il s'ouvre :
-si le nombre de relance est >3 alors ça passe au contact suivant
-si le nombre de relance est >1 alors ça atteint la derniere relance
-si la date de relance est > à la date du jour ça passe au contact suivant
Merci de votre aide
Bonjour,
C'est quoi un formulaire modifiable ?
En fait, j'ai créé un formulaire avec sous formulaire.
Le formulaire est basé sur une requete filtrant les contacts selon certains critères et le sous formulaire affiche les relances réalisées en fonction de ces contacts et on peut ajouter, si besoin, des relances dès lors que je clique sur la date de relance, d'où le coté modifiable qu'il faut conserver, pour ajouter des données dans ce sous-formulaire. (je ne peux pas créer un formulaire avec sous formulaire sur des requetes de regroupement pour atteindre ce que je souhaite car je ne pourrais plus entrer de nouvelles relances).
Ce que je n'arive pas à faire est donc que lorsque le formulaire s'ouvre :
-si le nombre de relance est >3 alors ça passe au contact suivant
-si le nombre de relance est >1 alors ça atteint la derniere relance
-si la date de relance est > à la date du jour ça passe au contact suivant
En gros je veux filtrer les enregistrements du formulaire en fonction de critères provenant du sous-formulaire tout en pouvant ajouter des données au sous-formulaire.
Souvent, on m'a dit d'écrire des phrases plus courtes.
Là, je comprends pourquoi :)
Déjà, est-ce que les relances s'affichent bien en fonction des critè res
? Ce sont des critères basés sur les contacts, si j'ai bien compris.
C'est la première chose, puisque leur nombre conditionne l'action à
réaliser.
oui ça, ça marche impec.
Donc, d'après ce que je comprends, tu cherches la syntaxe pour connaî tre
le nombre de relances pour le contact affiché, donc le nombre
d'enregistrements dans le sous-formulaire ?
Regarde-voir si Recordset.Count peut t'aider.
C'est une propriété de formulaire, donc à appliquer à Me.ssfrm.Fo rm, en
admettant que ssfrm soit le nom du sous-formulaire.
http://bytes.com/topic/access/answers/457510-record-count
Vérifier si à un moment il faut appeler la méthode Requery, sur le
sous-formulaire, ou plus exactement sur le formulaire qui est dedans.
Bon pour les longues phrases, c'était juste pour être sûre d'être bien comprise :-)
La méthode proposée, je l'avais déjà testée.
En fait, j'arrive très bien à compter le nombre de relance la seule chose c'est qu'il ne veut pas passer au contact suivant.
Erreur 2105, impossible d'atteindre l'enregistrement spécifié.
Idem quand je compare la date.
Je crois que je vais passer par une autre méthode, un peu tirée par les cheveux, mais bon qui devrait elle fonctionnée.
Merci quand même
Ben oui, je sais bien, j'ai déjà pratiqué ;)
Ah, donc finalement, la question posée était indépendante du nombre de
relances.
C'était : comment faire pour sélectionner un enregistrement dans un
sous-formulaire ?
C'est bien ça ? D'ailleurs, on doit bien trouver ça dans une FAQ, par
exemple chez 3stone, chez Raymond ou ailleurs.
ça aurait pu être une tactique judicieuse de me dire comment tu t'y e s
prise, que je puisse voir où est l'erreur, et éviter de proposer la m ême
solution si il y a un problème avec.
Le principe est de définir un jeu d'enregistrements sur le
RecordsetClone du formulaire qu'on veut positionner sur un
enregistrement. Positionner le RecordsetClone, par Rs.FindFirst ou
Rs.Seek selon le type, puis reporter la position sur le formulaire par
transfert de la propriété Bookmark.
Dans le formulaire principal :
Dim Rs As Recordset
Set Rs = sfrm.Form.RecordsetClone
Rs.FindFirst "NumRelance=2" ' à adapter bien entendu
If Rs.NoMatch Then
MsgBox "Relance non trouvée pendant le positionnement " + _
"du sous-formulaire")
Else
sfrm.Form.Bookmark = Rs.Bookmark
End If
Rs.Close
Set Rs = Nothing
Si le code est dans le module du sous-formulaire, on remplacera
sfrm.Form par Me.
Ah oui, les adresses des sites mentionnés :
http://3stone.be/access/index.php
http://officesystemaccess.seneque.net/
Et celui-là aussi peut être précieux :
http://access.mvps.org/accessfr/
Il y en a d'autres, aussi, après tout les moteurs de recherche sont là
pour ça. J'espère que leurs auteurs ne se vexeront pas.