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

Sérialisation dans état

6 réponses
Avatar
Yves COUETTE
Bonjour,

- je dois mettre un "N° d'ordre : " sur des Reçus (1 reçu par page) édités
par un état Access 2002.

- ce numéro doit donc être augmenté de "1" à chaque passage à la page
suivante (sérialisation)

- de plus il me faut partir d'une valeur de base, rangée dans une table
(valeur changée chaque année : par exemple 1000 en 2009)

- l'état fait appel à une requête "piochant" dans différentes tables.

Une idée, ou plusieurs, pour réaliser cette sérialisation.

Merci d'avance

Yves

6 réponses

Avatar
3stone
Salut,

Yves COUETTE wrote:
Bonjour,

- je dois mettre un "N° d'ordre : " sur des Reçus (1 reçu par page)
édités par un état Access 2002.

- ce numéro doit donc être augmenté de "1" à chaque passage à la page
suivante (sérialisation)

- de plus il me faut partir d'une valeur de base, rangée dans une
table (valeur changée chaque année : par exemple 1000 en 2009)

- l'état fait appel à une requête "piochant" dans différentes tables.

Une idée, ou plusieurs, pour réaliser cette sérialisation.




Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Yves COUETTE
Bonjour Pierre et merci pour ta réponse

Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?


YC> De fait, il ne sont pas mémorisés dans la base. Ils sont juste imprimés
en deux exemplaires.
L'un est conservé dans un classeur l'autre envoyé au bénéficiaire.

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?


YC> j'ai juste besoin de les imprimer, comme je le fais actuellement.
Mais en ajoutant automatiquement un n° incrémenté de 1 à chaque page
sortie.
Le seul lien existant est le n° de départ.
Je l'ai mis dans une petite table indépendante avec d'autres
paramètres ajustés annuellement.
Cette petite table n'est pas liée aux autres tables de la base d'où
sont extraites les données du reçu.
En fait, je ne vois pas bien comment amener ce n° de départ dans
l'état pour l'incrémenter.
Il faudrait que d'une page à la suivante, le n° d'ordre soit
incrémenté de 1.
-------------------------------------------

Dans mes essais actuels, j'utilise un numéro existant (n° unique [Ins]
évoluant automatiquement) dans la base et cela va bien.
Mais je dois ajouter une autre table qui, elle, n'aura pas ce n° [Ins] car
il s'agit de dons divers, non référencés.
Je vais faire une requête union pour interroger l'ensemble.
Il est toujours possible d'affecter une tranche de n° spéciale pour ces
divers afin d'éviter tout doublon dans les n° d'ordre,
mais j'espérais pouvoir numéroter directement à partir de l'état... (ma
demande ci-dessus).

En fait le n° [Ins] dont je parle ci-dessus fonctionne bien si ce n'est
qu'il me faut avoir une tranche spéciale pour les numéros divers.
Il n'a pas encore été mis en service pour des cas réels, car la personne qui
s'occupait de cela précédemment :
1- exportait le résultat de ma requête sous Excel
2- ajoutait un n° d'ordre sous Excel
3 - faisait une fusion sous Word.
J'ai donc proposé de reprendre l'ensemble par un état Access, c'est OK, si
ce n'est le besoin que j'exprime par ce fil.

Excuse-moi d'avoir été long, j'ai essayé d'être clair !
Merci de me dire si je peux espérer arriver au résultat souhaité, sinon
j'utiliserai la tranche spéciale (pas de la Loterie Nationale:-)

Yves

--------------------------------------------------------------------
"3stone" a écrit dans le message de news:
et40z$
Salut,

Yves COUETTE wrote:
Bonjour,

- je dois mettre un "N° d'ordre : " sur des Reçus (1 reçu par page)
édités par un état Access 2002.

- ce numéro doit donc être augmenté de "1" à chaque passage à la page
suivante (sérialisation)

- de plus il me faut partir d'une valeur de base, rangée dans une
table (valeur changée chaque année : par exemple 1000 en 2009).

- l'état fait appel à une requête "piochant" dans différentes tables.

Une idée, ou plusieurs, pour réaliser cette sérialisation.




Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Avatar
3stone
Salut,

Ta numérotation ne sert qu'à coller les feuilles dans l'ordre
dans un classeur, si je comprends bien...

Mais, l'impression ne se fait pas en une fois, j'immagine ?
et donc, à chaque "série d'impressions", il faudra bien savoir
à quel numéro tu t'es arrêté la fois précédente ?...

Ainsi, le numéro "de départ" doit être actualisé après chaque
impression pour être disponible à la suivante...

C'est bien cela ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Yves COUETTE wrote:
Bonjour Pierre et merci pour ta réponse

Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?
De fait, il ne sont pas mémorisés dans la base. Ils sont juste
imprimés


en deux exemplaires.
L'un est conservé dans un classeur l'autre envoyé au
bénéficiaire.

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?
j'ai juste besoin de les imprimer, comme je le fais actuellement.


Mais en ajoutant automatiquement un n° incrémenté de 1 à
chaque page sortie.
Le seul lien existant est le n° de départ.
Je l'ai mis dans une petite table indépendante avec d'autres
paramètres ajustés annuellement.
Cette petite table n'est pas liée aux autres tables de la
base d'où sont extraites les données du reçu.
En fait, je ne vois pas bien comment amener ce n° de départ
dans l'état pour l'incrémenter.
Il faudrait que d'une page à la suivante, le n° d'ordre soit
incrémenté de 1.
-------------------------------------------

Dans mes essais actuels, j'utilise un numéro existant (n° unique [Ins]
évoluant automatiquement) dans la base et cela va bien.
Mais je dois ajouter une autre table qui, elle, n'aura pas ce n°
[Ins] car il s'agit de dons divers, non référencés.
Je vais faire une requête union pour interroger l'ensemble.
Il est toujours possible d'affecter une tranche de n° spéciale pour
ces divers afin d'éviter tout doublon dans les n° d'ordre,
mais j'espérais pouvoir numéroter directement à partir de l'état...
(ma demande ci-dessus).

En fait le n° [Ins] dont je parle ci-dessus fonctionne bien si ce
n'est qu'il me faut avoir une tranche spéciale pour les numéros
divers.
Il n'a pas encore été mis en service pour des cas réels, car la
personne qui s'occupait de cela précédemment :
1- exportait le résultat de ma requête sous Excel
2- ajoutait un n° d'ordre sous Excel
3 - faisait une fusion sous Word.
J'ai donc proposé de reprendre l'ensemble par un état Access, c'est
OK, si ce n'est le besoin que j'exprime par ce fil.

Excuse-moi d'avoir été long, j'ai essayé d'être clair !
Merci de me dire si je peux espérer arriver au résultat souhaité,
sinon j'utiliserai la tranche spéciale (pas de la Loterie Nationale:-)

Yves

--------------------------------------------------------------------
"3stone" a écrit dans le message de news:
et40z$
Salut,

Yves COUETTE wrote:
Bonjour,

- je dois mettre un "N° d'ordre : " sur des Reçus (1 reçu par page)
édités par un état Access 2002.

- ce numéro doit donc être augmenté de "1" à chaque passage à la
page suivante (sérialisation)

- de plus il me faut partir d'une valeur de base, rangée dans une
table (valeur changée chaque année : par exemple 1000 en 2009).

- l'état fait appel à une requête "piochant" dans différentes
tables.

Une idée, ou plusieurs, pour réaliser cette sérialisation.




Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
Yves COUETTE
OK, Pierre, bonsoir.

Oui, c'est cela, mais l'impression se fait en principe une fois par an
seulement, en incrémentant à partir du dernier numéro de l'année précédente.

Et, s'il devait y avoir plusieurs impressions dans la même année, comme tu
le dis, il suffirait d'actualiser avec le dernier numéro utilisé.

Est-il possible, à partir de l'état, de poser la question du premier numéro
à utiliser ?

Merci et @+

Yves


"3stone" a écrit dans le message de news:

Salut,

Ta numérotation ne sert qu'à coller les feuilles dans l'ordre
dans un classeur, si je comprends bien...

Mais, l'impression ne se fait pas en une fois, j'immagine ?
et donc, à chaque "série d'impressions", il faudra bien savoir
à quel numéro tu t'es arrêté la fois précédente ?...

Ainsi, le numéro "de départ" doit être actualisé après chaque
impression pour être disponible à la suivante...

C'est bien cela ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Yves COUETTE wrote:
Bonjour Pierre et merci pour ta réponse

Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?
De fait, il ne sont pas mémorisés dans la base. Ils sont juste
imprimés


en deux exemplaires.
L'un est conservé dans un classeur l'autre envoyé au
bénéficiaire.

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?
j'ai juste besoin de les imprimer, comme je le fais actuellement.


Mais en ajoutant automatiquement un n° incrémenté de 1 à
chaque page sortie.
Le seul lien existant est le n° de départ.
Je l'ai mis dans une petite table indépendante avec d'autres
paramètres ajustés annuellement.
Cette petite table n'est pas liée aux autres tables de la
base d'où sont extraites les données du reçu.
En fait, je ne vois pas bien comment amener ce n° de départ
dans l'état pour l'incrémenter.
Il faudrait que d'une page à la suivante, le n° d'ordre soit
incrémenté de 1.
-------------------------------------------

Dans mes essais actuels, j'utilise un numéro existant (n° unique [Ins]
évoluant automatiquement) dans la base et cela va bien.
Mais je dois ajouter une autre table qui, elle, n'aura pas ce n°
[Ins] car il s'agit de dons divers, non référencés.
Je vais faire une requête union pour interroger l'ensemble.
Il est toujours possible d'affecter une tranche de n° spéciale pour
ces divers afin d'éviter tout doublon dans les n° d'ordre,
mais j'espérais pouvoir numéroter directement à partir de l'état...
(ma demande ci-dessus).

En fait le n° [Ins] dont je parle ci-dessus fonctionne bien si ce
n'est qu'il me faut avoir une tranche spéciale pour les numéros
divers.
Il n'a pas encore été mis en service pour des cas réels, car la
personne qui s'occupait de cela précédemment :
1- exportait le résultat de ma requête sous Excel
2- ajoutait un n° d'ordre sous Excel
3 - faisait une fusion sous Word.
J'ai donc proposé de reprendre l'ensemble par un état Access, c'est
OK, si ce n'est le besoin que j'exprime par ce fil.

Excuse-moi d'avoir été long, j'ai essayé d'être clair !
Merci de me dire si je peux espérer arriver au résultat souhaité,
sinon j'utiliserai la tranche spéciale (pas de la Loterie Nationale:-)

Yves

--------------------------------------------------------------------
"3stone" a écrit dans le message de news:
et40z$
Salut,

Yves COUETTE wrote:
Bonjour,

- je dois mettre un "N° d'ordre : " sur des Reçus (1 reçu par page)
édités par un état Access 2002.

- ce numéro doit donc être augmenté de "1" à chaque passage à la
page suivante (sérialisation)

- de plus il me faut partir d'une valeur de base, rangée dans une
table (valeur changée chaque année : par exemple 1000 en 2009).

- l'état fait appel à une requête "piochant" dans différentes
tables.

Une idée, ou plusieurs, pour réaliser cette sérialisation.




Oui, mais ces recus ne sont pas mémorisés/gérés par la base ?

Tu penses juste imprimer des recus numérotés et ensuite...
comment relie-tu un recus à ce que tu as dans ta base ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)







Avatar
3stone
Salut,

Yves COUETTE wrote:
OK, Pierre, bonsoir.

Oui, c'est cela, mais l'impression se fait en principe une fois par an
seulement, en incrémentant à partir du dernier numéro de l'année
précédente.




Effectivement, pas besoin de créer une usine à gaz ;-)


Et, s'il devait y avoir plusieurs impressions dans la même année,
comme tu le dis, il suffirait d'actualiser avec le dernier numéro
utilisé.

Est-il possible, à partir de l'état, de poser la question du premier
numéro à utiliser ?



J'imagine que chaque reçu ne fait qu'une page ?


Place quelque part sur ton état une zone de texte indépendante.
Comme source, tu donnes :

= [NumeroCourant]


Ensuite, tu vas dans la Sub de l'événement "Sur ouverture"
et dans la Sub de l'événement "Sur la page" et tu écris
ce que tu vois ci-dessous... en n'oubliant pas la déclaration de la
variable au dessus de la première sub.

Pour obtenir ceci :

'----------------------------------------------

Option Compare Database
Option Explicit

Public NumeroCourant As Long

Private Sub Report_Open(Cancel As Integer)
NumeroCourant = Val(InputBox("Quel numéro de départ", "Paramètre"))
End Sub


Private Sub Report_Page()
NumeroCourant = NumeroCourant + 1
End Sub

'----------------------------------------------

A chaque fois que tu lances l'impression de ton état, il te demande
à quel numéro tu souhaites démarrer ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Yves COUETTE
Bonjour Pierre et merci pour ta réponse.

Cela répond exactement à mon attente.
De fait, il y a un Reçu par page.

Pour info :
Ceci correspond à de petites extensions que je mets en place de temps en
temps à une appli développée en 2001-2002.
Le plus souvent, il suffit de requêtes ou états (dont je ne connais pas tous
les secrets..., la preuve... -;)
Souvent, pour moi, il est plus simple d'écrire un petit module VBA dans
lequel il me semble que j'aurais plus facilement sérialisé.
Mais, ayant à charge d'initier une ou deux personnes à cette appli et aux
extensions nécessaires [77 ans, il est temps que je me mette en retrait !] ;
je les "guide" dans la réalisations des requêtes et états ; dans le cas
présent, tout allait bien jusqu'à cette sérialisation ; j'y avais inclus un
petit module (trouvé sur le Net) pour écrire les sommes en lettres... je
n'avais donc plus que cela.

Alors, merci encore de m'avoir dépanné et ainsi aidé ceux que je suis chargé
de "dépanner".

@+

Yves

"3stone" a écrit dans le message de news:

Salut,

Yves COUETTE wrote:
OK, Pierre, bonsoir.

Oui, c'est cela, mais l'impression se fait en principe une fois par an
seulement, en incrémentant à partir du dernier numéro de l'année
précédente.




Effectivement, pas besoin de créer une usine à gaz ;-)


Et, s'il devait y avoir plusieurs impressions dans la même année,
comme tu le dis, il suffirait d'actualiser avec le dernier numéro
utilisé.

Est-il possible, à partir de l'état, de poser la question du premier
numéro à utiliser ?



J'imagine que chaque reçu ne fait qu'une page ?


Place quelque part sur ton état une zone de texte indépendante.
Comme source, tu donnes :

= [NumeroCourant]


Ensuite, tu vas dans la Sub de l'événement "Sur ouverture"
et dans la Sub de l'événement "Sur la page" et tu écris
ce que tu vois ci-dessous... en n'oubliant pas la déclaration de la
variable au dessus de la première sub.

Pour obtenir ceci :

'----------------------------------------------

Option Compare Database
Option Explicit

Public NumeroCourant As Long

Private Sub Report_Open(Cancel As Integer)
NumeroCourant = Val(InputBox("Quel numéro de départ", "Paramètre"))
End Sub


Private Sub Report_Page()
NumeroCourant = NumeroCourant + 1
End Sub

'----------------------------------------------

A chaque fois que tu lances l'impression de ton état, il te demande
à quel numéro tu souhaites démarrer ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)