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

10 réponses

1 2
Avatar
Michel__D
Bonjour,

a écrit dans le message de news:
Bonjour

qui pourrait me donner une idée
je dois mettre en place une base pour gérer des tickets
exemple
liaisse allant du N° 5039001au n° 5041000

le 20/01/2008 Remise à intitulé X 5039001 à 5039100 soit 100 tickets
le 29/01/2008 Remise à intitulé Y 5039101 à 5039101 soit 100 tickets
etc
etc
le 29/04/2008 Remise à intitulé X 5040876 à 5041000 soit 125 tickets
(liaisse terminée)

nouvelle liaisse allant du N° 8030001 au n° 8040000
le 30/04/2008 Remise à intitulé W 8030001 au 8030375 soit 375 tickets

la base permettra de gérer le stock, de connaître le nombre de tickets
pris par tel intitulé,
connaître le nombre de tickets restant, etc

Merci d'avance

A noter, j'ai récupéré les données précédentes ( gérées précédemment
sous sdb)
j'ai donc des lignes avec
date intitulé numéro_début numéro_fin de A entrée sortie
exemple
20/01/2008 ----intitulé X ----
5039001-----5041000----5039001------5039100------100-------100

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

Voici une possibilitée avec 2 tables.

La table [Liasses] avec les 4 champs suivants :
IDliasse (clé primaire), Intitule, NumDebut, NumFin

La table [Tickets] avec les champs suivants :
IDticket (clé primaire), DateEnr, IDLiasse, NumDeb, NbEmis, NbSortie
Avatar
accessetmoi
On 19 août, 09:32, "Michel__D"
wrote:
Voici une possibilitée avec 2 tables.

La table [Liasses] avec les 4 champs suivants :
IDliasse (clé primaire), Intitule, NumDebut, NumFin

La table [Tickets] avec les champs suivants :
IDticket (clé primaire), DateEnr, IDLiasse, NumDeb, NbEmis, NbSortie



Bonjour Michel
Euh ! je pense qu'il faudrait 3 tables
La table [Liasses] avec les 4 champs suivants :
IDliasse (clé primaire) NumDebut, NumFin

La table [Tickets] avec les champs suivants :
IDticket (clé primaire), DateEnr, IDLiasse, IDIntitule, NumDeb,
NbEmis, NbSortie

La table [Clients] avec les champs suivants :
IDClients (clé primaire), Intitule
afin de ne pas répeter les informations (Le même client peut en
prendre plusieurs fois) des requêtes seront effectuées pour afficher
les opérations effectuées par un client

par contre ce qui me coince c'est comment faire pour :
je voudrais un formulaire qui affiche lors de la prise en charge :
les numéros de la dernière liaisse en cours (affichage automatique)
(numero debut-----numéro fin)
la date---- le nom du client(intitulé)------numéro du premier ticket
disponible (affichage automatique) ------
nombre de tickets remis ----- numéro du dernier ticket remis

Merci d'avance

P.S. et j'aimerai (mais bon faudrait peut-être pas rêver) récupérer
mes données antérieures et ne pas avoir à les ressaisir
Avatar
Michel__D
a écrit dans le message de news:
On 19 août, 09:32, "Michel__D"
wrote:
Voici une possibilitée avec 2 tables.

La table [Liasses] avec les 4 champs suivants :
IDliasse (clé primaire), Intitule, NumDebut, NumFin

La table [Tickets] avec les champs suivants :
IDticket (clé primaire), DateEnr, IDLiasse, NumDeb, NbEmis, NbSortie



Bonjour Michel
Euh ! je pense qu'il faudrait 3 tables
La table [Liasses] avec les 4 champs suivants :
IDliasse (clé primaire) NumDebut, NumFin

La table [Tickets] avec les champs suivants :
IDticket (clé primaire), DateEnr, IDLiasse, IDIntitule, NumDeb,
NbEmis, NbSortie

La table [Clients] avec les champs suivants :
IDClients (clé primaire), Intitule
afin de ne pas répeter les informations (Le même client peut en
prendre plusieurs fois) des requêtes seront effectuées pour afficher
les opérations effectuées par un client

par contre ce qui me coince c'est comment faire pour :
je voudrais un formulaire qui affiche lors de la prise en charge :
les numéros de la dernière liaisse en cours (affichage automatique)
(numero debut-----numéro fin)
la date---- le nom du client(intitulé)------numéro du premier ticket
disponible (affichage automatique) ------
nombre de tickets remis ----- numéro du dernier ticket remis

Merci d'avance

P.S. et j'aimerai (mais bon faudrait peut-être pas rêver) récupérer
mes données antérieures et ne pas avoir à les ressaisir

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

Comme quoi j'avais pas tout compris !

Par contre tu peux me dire quelle relation a la table [Clients] par
rapport aux autres tables, est-ce ?
IDIntitule(table Tickets)=IDClients(table Clients)

Pour avoir la dernière liasse en cours, je pense que tu devras jouer
avec Max([DateEnr]) ensuite avec les relations que tu auras établi
entre les tables tu récupère les infos qui t'intéresse.

Ben c'est évident qu'il va falloir récupérer les données antérieures
(ce doit être faisable par requête) :

1) Tu défini/crée tes tables
2) Tu peuple la table [Liasses] avec une requête ajout.
3) Tu peuple la table [Clients] avec une requête ajout.
4) Tu peuple la table [Tickets] avec une requête ajout avec une
requête de ce style (j'ai pas testé) :

INSERT INTO [Tickets] (DateEnr, IDLiasse, IDIntitule, NumDeb,
NbEmis, NbSortie)
SELECT T2.[date], T1.IDLiasse, T3.IDClients, T2.[de], T2.[entrée],
T2.[sortie]
FROM Liasses AS T1 INNER JOIN (LaTableSource AS T2
INNER JOIN Clients AS T3
ON T2.[intitulé]=T3.[Intitule]) ON T1.NumDebut=T2.[numéro_début];
Avatar
accessetmoi
> Par contre tu peux me dire quelle relation a la table [Clients] par
 rapport aux autres tables, est-ce ?
IDIntitule(table Tickets)=IDClients(table Clients)



exact (j'aurai dû mettre le même nom dans chaque table mais c'est
encore en projet car je n'avais d'idées pour la structure



Pour avoir la dernière liasse en cours, je pense que tu devras jouer
 avec Max([DateEnr]) ensuite avec les relations que tu auras établi
 entre les tables tu récupère les infos qui t'intéresse.



je vais tester avec Max, j'ai crée une requête pour afficher le
dernier enregsistrement ( tri descendant, premier valeur à 1)
cela me donne le résultat désiré est-ce correct ?


Ben c'est évident qu'il va falloir récupérer les données antéri eures
 (ce doit être faisable par requête) :

1) Tu défini/crée tes tables
2) Tu peuple la table [Liasses] avec une requête ajout.
3) Tu peuple la table [Clients] avec une requête ajout.
4) Tu peuple la table [Tickets] avec une requête ajout avec une
 requête de ce style (j'ai pas testé) :

INSERT INTO [Tickets] (DateEnr, IDLiasse, IDIntitule, NumDeb,
 NbEmis, NbSortie)
SELECT T2.[date], T1.IDLiasse, T3.IDClients, T2.[de], T2.[entrée],
 T2.[sortie]
FROM Liasses AS T1 INNER JOIN (LaTableSource AS T2
 INNER JOIN Clients AS T3
 ON T2.[intitulé]=T3.[Intitule]) ON T1.NumDebut=T2.[numéro_dé but];



bon je vais voir ce que je peux faire , euh ! surtout ce que j'arrive
à faire
je te tiens au courant

merci
Avatar
Michel__D
a écrit dans le message de news:
>
> Pour avoir la dernière liasse en cours, je pense que tu devras jouer
> avec Max([DateEnr]) ensuite avec les relations que tu auras établi
> entre les tables tu récupère les infos qui t'intéresse.

je vais tester avec Max, j'ai crée une requête pour afficher le
dernier enregsistrement ( tri descendant, premier valeur à 1)
cela me donne le résultat désiré est-ce correct ?



Oui, c'était une autre possibilitée avec le tri sur le champ date.
Avatar
Jac
> P.S. et j'aimerai (mais bon faudrait peut-être pas rêver) récupérer
mes données antérieures et ne pas avoir à les ressaisir



Bonjour Accessetmoi,

tu peux rêver ! C'est possible !!!

Pour récupérer tes données, il faudrait, d'après moi, passer par Word
puis Excel :

tes données dans Word :
20/01/2008 ----intitulé X ----
5039001-----5041000----5039001------5039100------100-------100

1- tu remplaces espace tiret par tiret
2- tu remplaces -- par - jusqu'à ce que word te dise qu'il en reste 0
3- tu remplaces - par tabulation (^t)

Donc, suite à ces manipulations, chaque champ est séparé du précédent
par une tabulation.
Donc quand tu copies tout et que tu colles tout dans Excel, Excel va
remplacer les tabulations par des changements de colonnes.

Si tu a plus de 65536 lignes, il faudra répéter les copier coller Word
/ Excel plusieurs fois.

Dans Excel, tu mets les titres de colonne et tu prépares les données
pour Access : éclatement multitables, suppression des redondances
(=si(A1¢;"";"X") puis tri puis suppression des lignes qui n'ont pas
de X), répétition des champs de liaison entre les tables, ... Bref tout
ce qu'il faut pour que les données soient prêtes à être importées dans
Access.

Dernière étape : importation des données dans Access, sans aucune
donnée à ressaisir. CQFD.

On en reparle quand tu veux.

Jac
Avatar
accessetmoi
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 1tbl_liasse.idLiasse, tbl_Liasse.Datepc,
tblLiasse.NumeroDebut, tbl_liasse.NumFin
FROM tbl_Liasse
ORDER BY tbl_Liasse.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 tbl_Tickets.DateEnr, tbl_Tickets.NumeroDeb,
tbl_Tickets.NumeroFin, [tbl_Tickets]![NumeroFin]-[tbl_Tickets]!
[NumeroDeb]+1 AS NbreTickets, tbl_clients.Code, tbl_clients.Intitule,
tbl_clients.Encours, tbl_liasse.NumDebut, tbl_liasse.NumFin,
[tbl_liasse]![NumFin]-[tbl_liasse]![NumDebut]+1 AS NbreLiasse
FROM tbl_liasse INNER JOIN (tbl_clients INNER JOIN tbl_Tickets ON
(tbl_clients.IDClient = tbl_Tickets.IdClient) AND
(tbl_clients.IDClient = tbl_Tickets.IdClient)) ON tbl_liasse.idLiasse
= tbl_Tickets.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 , nombr e
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 ;-)

Merci d'avance
Avatar
Jac
... Pour ceci, tu renvoies ta table complète dans Excel, tu la
dupliques et nettoie le terrain pour obtenir ce que tu veux.
Pour contrôler, tu fais un petit recherchev pour voir si tes relations
sont correctes.

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


Avatar
accessetmoi
On 19 août, 15:15, Jac wrote:
... Pour ceci, tu renvoies ta table complète dans Excel, tu la
dupliques et nettoie le terrain pour obtenir ce que tu veux.
Pour contrôler, tu fais un petit recherchev pour voir si tes relations
sont correctes.




mais c'est bien sûr ! ok
je le ferai quand ma base sera exploitable prête à recevoir les
données

merci
Avatar
Jac
... peux-tu regarder dans ta messagerie gmail...
1 2