Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gestion de tickets

18 réponses
Avatar
accessetmoi
Bonjour

qui pourrait me donner une id=E9e
je dois mettre en place une base pour g=E9rer des tickets
exemple
liaisse allant du N=B0 5039001au n=B0 5041000

le 20/01/2008 Remise =E0 intitul=E9 X 5039001 =E0 5039100 soit 100 tickets
le 29/01/2008 Remise =E0 intitul=E9 Y 5039101 =E0 5039101 soit 100 tickets
etc
etc
le 29/04/2008 Remise =E0 intitul=E9 X 5040876 =E0 5041000 soit 125 tickets
(liaisse termin=E9e)

nouvelle liaisse allant du N=B0 8030001 au n=B0 8040000
le 30/04/2008 Remise =E0 intitul=E9 W 8030001 au 8030375 soit 375 tickets

la base permettra de g=E9rer le stock, de conna=EEtre le nombre de tickets
pris par tel intitul=E9,
conna=EEtre le nombre de tickets restant, etc

Merci d'avance

A noter, j'ai r=E9cup=E9r=E9 les donn=E9es pr=E9c=E9dentes ( g=E9r=E9es pr=
=E9c=E9demment
sous sdb)
j'ai donc des lignes avec
date intitul=E9 num=E9ro_d=E9but num=E9ro_fin de A entr=E9e sortie
exemple
20/01/2008 ----intitul=E9 X ----
5039001-----5041000----5039001------5039100------100-------100

8 réponses

1 2
Avatar
accessetmoi
On 19 août, 15:32, Jac wrote:
... peux-tu regarder dans ta messagerie gmail...



répondu
Avatar
Michel__D
re,

Le truc que je pige pas c'est pourquoi tu définit le champ [encours]
dans la table [tbl_clients] ?

Car si ce champ [encours] correspond aux tickets sortis tu n'a
aucun moyen de les relier à l'émission des tickets correspondants.


a écrit dans le message de news:

Bonjour Jac

merci
pas de problème pour obtenir une table dans Access avec toutes les
données
ça j'ai réussi
mais j'ai tout dans une table et je voudrais scinder en trois tables
et c'est la que cela coince
j'ai préparé mes trois tables avec clé primaire clé externe
et c'est donc pour compléter ces champs que je coince
mais bon s'il n'y avait que là que je coince

mais pour l'instant j'essaye avec mes trois tables de créer un
formulaire qui va bien mais j'y arrive pô

Reprenons
j'ai donc
tbl_clients avec
idClient(clé primaire) Code Intitule Encours
tblLiasse avec
IdLiasse (clé primaire) Datepc NumDebut NumFin
tblTickets avec
IdTicket (clé primaire) DateEnr NumeroDeb NumeroFin IdLiasse IdClient

J'ai crée une requête rq_dernier_valeur
SELECT TOP 1 T1.idLiasse, T1.Datepc, T1.NumeroDebut, T1.NumFin
FROM tbl_Liasse AS T1
ORDER BY T1.Datepc DESC;
afin de visualiser la dernière prise en charge de la liasse

J'ai crée une requête qui permet d'afficher tous les renseignements
utiles
SELECT T3.DateEnr, T3.NumeroDeb, T3.NumeroFin,
T3.NumeroFin-T3.NumeroDeb+1 AS NbreTickets,
T2.Code, tbl_clients.Intitule, T2.Encours, T1.NumDebut,
T1.NumFin, T1.NumFin-T1.NumDebut+1 AS NbreLiasse
FROM tbl_liasse AS T1 INNER JOIN
(tbl_clients AS T2 INNER JOIN tbl_Tickets AS T3
ON T2.IDClient = T3.IdClient) ON T1.idLiasse = T2.IdLiasse;

cette requête permet d'afficher le nombre de tickets donnés et nombre
de tickets dans la liasse au départ mais cela ne me convient qu'à
moitié

mais après cela se complique

Je voudrais un formulaire de prise en charge des tickets donnés
Où je pourrais
- voir la dernière liasse avec numéro début , numéro de fin , nombre
de tickets au total, =>c'est ok
- avoir un menu déroulant pour le code du client => c'est ok
- que l'intitulé s'affiche automatiquement en fonction du code client
choisi => ????
- que j'indique la date de remise des tickets => c'est ok
- que le champ NumeroDeb de la table Ticket s'affiche autiomatiquement
=> ????
- que j'indique uniquement le nombre de tickets choisi (il va falloir
que je crée un nouveau champ)
- et en fonction du nombre de tickets inscrits le champ NumeroFin de
la table Ticket se complète automatiquement => ????
- et que le champ NumeroFin de la table Ticket ne dépasse jamais le
numéro figurant dans le champ NumFin de la table Liasse (bloquage avec
message d'alerte) => ????
C'est tout pour le moment ;-)
Avatar
accessetmoi
On 19 août, 15:59, "Michel__D"
wrote:
re,

Le truc que je pige pas c'est pourquoi tu définit le champ [encours]
 dans la table [tbl_clients] ?

Car si ce champ [encours] correspond aux tickets sortis tu n'a
 aucun moyen de les relier à l'émission des tickets correspondants.




Bonjour Michel
ce champ Encours est un champ OUI/NON
cela me permet de connaître les clients en cours
je reprends une base avec des données depuis 1999, certains clients
n'existent plus mais je voudrais garder un historique dans la base
lorsqu'elle sera opérationnelle je n'utiliserai plus que les
enregistrements de la table TBL_Clients dont le champ Encours sera sur
Oui

voili
Avatar
accessetmoi
Petite précision

j'ai voulu crée mon formulaire d'après ma requête
J'ai crée une requête qui permet d'afficher tous les renseignements
utiles
SELECT T3.DateEnr, T3.NumeroDeb, T3.NumeroFin,
T3.NumeroFin-T3.NumeroDeb+1 AS NbreTickets,
T2.Code, tbl_clients.Intitule, T2.Encours, T1.NumDebut,
T1.NumFin, T1.NumFin-T1.NumDebut+1 AS NbreLiasse
FROM tbl_liasse AS T1 INNER JOIN
(tbl_clients AS T2 INNER JOIN tbl_Tickets AS T3
ON T2.IDClient = T3.IdClient) ON T1.idLiasse = T2.IdLiasse;

mais je ne peux pas m'en servir pour créer un formulaire => impossible
d'ajouter un enregistrement
because ????
Oh! je commence à fatiguer....
Avatar
Jac
> Petite précision

j'ai voulu crée mon formulaire d'après ma requête
J'ai crée une requête qui permet d'afficher tous les renseignements
utiles
SELECT T3.DateEnr, T3.NumeroDeb, T3.NumeroFin,
T3.NumeroFin-T3.NumeroDeb+1 AS NbreTickets,
T2.Code, tbl_clients.Intitule, T2.Encours, T1.NumDebut,
T1.NumFin, T1.NumFin-T1.NumDebut+1 AS NbreLiasse
FROM tbl_liasse AS T1 INNER JOIN
(tbl_clients AS T2 INNER JOIN tbl_Tickets AS T3
ON T2.IDClient = T3.IdClient) ON T1.idLiasse = T2.IdLiasse;

mais je ne peux pas m'en servir pour créer un formulaire => impossible
d'ajouter un enregistrement
because ????



... because avec deux tables dans une requête, on peut faire de la mise
à jour, ajouter des datas, ..., à partir de trois, ce n'est plus
possible. C'est aussi une façon de verrouiller les données...
Ça se résoud avec des sous formulaires. Exemple : un client est choisi
dans le formulaire, le sous formulaire affiche toutes ses factures et
un sous-sous formulaires affiche le détail de la facture choisie dans
le sous formulaire...

Oh! je commence à fatiguer....



... c'est pas le moment... ça se corse, mais ça devient intéressant...
Avatar
accessetmoi
>
... because avec deux tables dans une requête, on peut faire de la mise
à jour, ajouter des datas, ..., à partir de trois, ce n'est plus
possible. C'est aussi une façon de verrouiller les données...
Ça se résoud avec des sous formulaires. Exemple : un client est chois i
dans le formulaire, le sous formulaire affiche toutes ses factures et
un sous-sous formulaires affiche le détail de la facture choisie dans
le sous formulaire...

> Oh! je commence à fatiguer....

... c'est pas le moment... ça se corse, mais ça devient intéressant ...- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bon je vais donc réfléchir à mon formulaire
Formulaire principal = table Liasse
Sous formulaire = Tickets avec un champ en zone de liste modifiable
affichant le code client
je teste ....
Avatar
Michel__D
a écrit dans le message de news:
On 19 août, 15:59, "Michel__D"
wrote:
re,

Le truc que je pige pas c'est pourquoi tu définit le champ [encours]
dans la table [tbl_clients] ?

Car si ce champ [encours] correspond aux tickets sortis tu n'a
aucun moyen de les relier à l'émission des tickets correspondants.




Bonjour Michel
ce champ Encours est un champ OUI/NON
cela me permet de connaître les clients en cours
je reprends une base avec des données depuis 1999, certains clients
n'existent plus mais je voudrais garder un historique dans la base
lorsqu'elle sera opérationnelle je n'utiliserai plus que les
enregistrements de la table TBL_Clients dont le champ Encours sera sur
Oui

voili

---------------------------------

Ok, donc si je comprend bien il n'y a plus de notion de "sortie" à
prendre en compte car tous les tickets émis sont transmis à un
client et par conséquent passe à l'état "sortie" automatiquement.
Avatar
accessetmoi
Reprenons

soit une liasse de 300 tickets numérotés de 1 à 300
le 01/01/2008 le client dupont prend 100 tickets soit du numéro 1 à
100
reste dans la liasse 200 tickets numérotés de 101 à 300
le 10/01/2008 le client durand prend 50 tickets soit du numéro 101 à
150
reste dans la liasse 150 tickets numérotés de 151 à 300
le 31/01/2008 le client dupont prend à nouveau 150 tickets soit du
numéro 151 à 300

un message d'alerte s'affiche s'il on veut donner plus de 150 tickets
un message d'alerte précise après la dernière opération qu'il n'y a
plus de liasse

donc prise en charge d'une nouvelle liasse
01/02/2008 prise en charge d'une liasse de 500 tickets de 1001 à 1500
( à noter le numéro de tickets entre chaque liasse ne se suit pas)

Requêtes à créer pour sortir état permettant d'afficher le nombre d e
tickets sortie dans l'année, de tickets en stock,
de tickets pris par tel client etc etc

c'est pas compliqué mais j'y arrive pô
la nuit porte conseil
1 2