Gestion de tableau sous access 2000

Fermé
Eric - 16 févr. 2005 à 06:44
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 - 17 févr. 2005 à 09:04
Bonjour,
J'essaie de développer quelques applications sous ACCESS 2000, et je rencontre un petit probléme, sûirement dû à une méconnaissance du produit.
En fait, j'ai un formulaire avec un sous forulaire attaché et je souhaite faire un état avec en entête l'enregistrement de la table PERE et ensuite le corps avec les ligne de la table FILS, la particularité est la suivante :
Pour un enregistrement PERE, je dois avoir N enregistrements FILS, mais sur l'état je dois avoir une partie des champs de l'enregistrement N FILS, puis une partie des champs FILS N+1 et ensuite d'autres champs FILS N et ainsi de suite.
J'ai dons fait une fonction qui charge les enregistrements de FILS dans des tableaux (un par champs).
Le probléme sur lequel je bute : Comment gérer les champs indicé dans mon état ? (j'ai essayé : TABLEAU1(1) comme varible mais rien n'y fait.
Merci de m'aider si possible
A+
Eric, le 16/02/2005

4 réponses

blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
16 févr. 2005 à 13:14
Salut,

par définition, le tableau est une structure de stockage interne à un programme.

ACCESS ne sait traiter que des données présentes dans la base de données courante.

Je pense que le souci vient de là, il faut peut-être revoir ta façon d'appréhender le problème...

J'avoue que je n'ai pas tout compris à tes N, N+1... !

0
Merci pour ta réponse
Peu être n'ai-ja pas été clair.
Mon probléme est le suivant :
Je dois éditer un état (préimprimé douanier)
qui est une déclaration de douane
ou j'ai une entête, j'ai un fichier principal avec une clef (N° auto) et j'ai des lignes de déclarations , j'ai un fichier de lignes avec la clef du fichier principal et sa clef d'incrémentation.
Pour la saisie sur mon formulaire, j'ai fais le formulaire principal (entete) et un onglet ou je saisie le sous formulaire (lignes).
Tout comme on saisie les commandes avec l'entete et les lignes.
Pour cela aucun probléme.
Mais je dois lancer l'impression de l'état et la ca se complique.
Pourquoi ?
Lorsque je suis sur l'enregistrement 1 du fichier entete,
j'ai deux enregistrements dans le fichier lignes
Chaque enregistrement du fichier ligne est composé de 6 champs.
A l'impression de lenregistrement 1, il doit se passer ce qui suit dans l'ordre d'impression (imposé par le préimprimé)
1°/ Impression de l'entete : Pas de probléme
2°/ Impression des trois premiers champs du 1 er enregistrement du fichier lignes
3°/ Impression des trois premiers champs du 2 eme enregistrement du fichier lignes
4°/ Impression des trois derniers champs du 1er enregistrements du fichiers lignes
5°/ Impression des trois derniers champs du 2 eme enregistrement du fichier lignes
6° Pour finir : impression du pied : Pas de probléme

Je pense avoir résumé mon probléme, comment faire pour imprimé une partie d'un enregistrement, puis une partie de l'enregistrment suivant ET REVENIR sur le premier enregistrement

La question : Puis déclérer dans l'état des variables tableau, ou l'indice serait le N° de l'enregistrement (bien entendu j'aurai pris le soin de charger les tableau avant)

Merci de l'aide que vous pourriez me donner.
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
16 févr. 2005 à 16:36
On a bien deux lignes qui sont rattachées à chaque enregistrement de la table principale (et uniquement 2) ? Et on a bien une relation 1-n entre les deux tables ?

De toutes façons, ACCESS ne traite pas l'impression en ligne à ligne comme une imprimante matricielle, mais crée la page, la fromate et ensuite l'imprime, on peut ainsi agir sur la page avnt son édition (colorier une zone dans certains cas...)

Je réfléchis à ce que je peux te proposer...

0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
16 févr. 2005 à 17:06
J'ai trouvé un truc, avec deux sous-états dans l'état principal : un pour afficher les 3 premiers champs (des deux lignes), un pour afficher les 3 derniers champs (des deux lignes) et si les relations entre les tables sont correctement définies, ça passe...

Si tu me files ton adresse mail, je t'envoie un ch'tit exemple, en ACCESS 97...
0
Bonjour Blux,
Vraiment merci
Mais le prob est que je n'ai pas forcement 2 lignes détail mais une relation 1-n

pour l'envoi Email, je te précise les deux (perso + bureau)

Si j'ai bien compris ton idée, on fait un sous état par enregistrement lignes ?
Je n'ai jamais fait de sous état, il va falloir que je "plonge" dans mes bouquins !!

A +

Eric
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
17 févr. 2005 à 09:04
je n'ai pas forcement 2 lignes détail mais une relation 1-n
Si tu as deux lignes côté n par ligne côté 1, alors c'est bon !
Sinon, je ne sais pas où on doit les imprimer...

pour l'envoi Email, je te précise les deux (perso + bureau)
Celui qu'il te plaira, mais donne-le :-)

Si j'ai bien compris ton idée, on fait un sous état par enregistrement lignes ?
C'est exactement ça ! Avec un qui affiche les 3 premiers champs, et un qui affiche les 3 derniers...

Tu t'en rendras mieux compte avec mon exemple, quand je te l'aurai envoyé (après que tu m'aies communiqué ton @mail ;-))
0