Salut,
"Loïc V."
| J'ai une table: Bordereau
| Un autre: n°d'articles
|
| Il me faut d'abord définir le bordereau en précisant la date, le client,
| ect... J'ai donc créé un formulaire adéquat.
|
| J'ai également créé un autre formulaire pour l'encodage des articles
| (description, ect..). Ces données affectent les enregistrements de la table,
| c'est voulu.
|
| Par contre, j'aimerais lier ces deux formulaires pour que lorsque j'établi
| un bordereau, j'ai la possiblité d'ouvrir un sous-formulaire (continu) qui me
| permet d'encoder les N°articles à mentionner sur ce bordereau.
|
| J'y arrive, le seul problème, c'est que dans toutes mes tentatives, lorsque
| j'inscris le N°article, il me dit qu'il y a un doublon (normal, vu que je
| l'ai précisé de la sorte dans la table ad'hoc). Par contre, si j'inscris une
| donnée au hasard, je la retrouve enregistrée dans ma table N°Articles.
|
| Comment est-ce que je peux faire pour que ce sous-formulaire me permette
| d'insérer des enregistristrements:
|
| - sans qu'il aille me dire qu'il y a un doublon
| - sans modifier ma table N°Articles
|
| autrement dit, j'aimerais que dans ce formulaire, je puisse insérer des
| données qui sont reprises dans la table n°Articles sans affecter les données
| de la table.
Je ne vois pas clairement ce que tu as fait, mais tu devrais avoir qque
chose comme ceci:
Ta table tblBordereau
- avec comme clé primaire le NoBordereau
- CodeClient
- etc...
Une table tblBordereauDetails
- LigneDetail - clé primaire en numauto
- NoBordereau - clé externe, indexé avec doublons
- CodeArticle
- etc...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
| J'ai une table: Bordereau
| Un autre: n°d'articles
|
| Il me faut d'abord définir le bordereau en précisant la date, le client,
| ect... J'ai donc créé un formulaire adéquat.
|
| J'ai également créé un autre formulaire pour l'encodage des articles
| (description, ect..). Ces données affectent les enregistrements de la table,
| c'est voulu.
|
| Par contre, j'aimerais lier ces deux formulaires pour que lorsque j'établi
| un bordereau, j'ai la possiblité d'ouvrir un sous-formulaire (continu) qui me
| permet d'encoder les N°articles à mentionner sur ce bordereau.
|
| J'y arrive, le seul problème, c'est que dans toutes mes tentatives, lorsque
| j'inscris le N°article, il me dit qu'il y a un doublon (normal, vu que je
| l'ai précisé de la sorte dans la table ad'hoc). Par contre, si j'inscris une
| donnée au hasard, je la retrouve enregistrée dans ma table N°Articles.
|
| Comment est-ce que je peux faire pour que ce sous-formulaire me permette
| d'insérer des enregistristrements:
|
| - sans qu'il aille me dire qu'il y a un doublon
| - sans modifier ma table N°Articles
|
| autrement dit, j'aimerais que dans ce formulaire, je puisse insérer des
| données qui sont reprises dans la table n°Articles sans affecter les données
| de la table.
Je ne vois pas clairement ce que tu as fait, mais tu devrais avoir qque
chose comme ceci:
Ta table tblBordereau
- avec comme clé primaire le NoBordereau
- CodeClient
- etc...
Une table tblBordereauDetails
- LigneDetail - clé primaire en numauto
- NoBordereau - clé externe, indexé avec doublons
- CodeArticle
- etc...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
| J'ai une table: Bordereau
| Un autre: n°d'articles
|
| Il me faut d'abord définir le bordereau en précisant la date, le client,
| ect... J'ai donc créé un formulaire adéquat.
|
| J'ai également créé un autre formulaire pour l'encodage des articles
| (description, ect..). Ces données affectent les enregistrements de la table,
| c'est voulu.
|
| Par contre, j'aimerais lier ces deux formulaires pour que lorsque j'établi
| un bordereau, j'ai la possiblité d'ouvrir un sous-formulaire (continu) qui me
| permet d'encoder les N°articles à mentionner sur ce bordereau.
|
| J'y arrive, le seul problème, c'est que dans toutes mes tentatives, lorsque
| j'inscris le N°article, il me dit qu'il y a un doublon (normal, vu que je
| l'ai précisé de la sorte dans la table ad'hoc). Par contre, si j'inscris une
| donnée au hasard, je la retrouve enregistrée dans ma table N°Articles.
|
| Comment est-ce que je peux faire pour que ce sous-formulaire me permette
| d'insérer des enregistristrements:
|
| - sans qu'il aille me dire qu'il y a un doublon
| - sans modifier ma table N°Articles
|
| autrement dit, j'aimerais que dans ce formulaire, je puisse insérer des
| données qui sont reprises dans la table n°Articles sans affecter les données
| de la table.
Je ne vois pas clairement ce que tu as fait, mais tu devrais avoir qque
chose comme ceci:
Ta table tblBordereau
- avec comme clé primaire le NoBordereau
- CodeClient
- etc...
Une table tblBordereauDetails
- LigneDetail - clé primaire en numauto
- NoBordereau - clé externe, indexé avec doublons
- CodeArticle
- etc...
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
|
| Yessssssssssssssssssssssssssssssss!
| J'ai trouvé, ouf!!!!
;-))
|
| Au fait, ça veut dire quoi 'indexé" ?
Regarde dans la table, dans la propriété des champs, et spécialement
pour la clé primaire ou clé externe, champs de recherche etc...
A connaître *absolument* dès que l'on cherche sérieusement à créer
une base qui contient un peu plus que les tantes ou cousins germains...
:-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
|
| Yessssssssssssssssssssssssssssssss!
| J'ai trouvé, ouf!!!!
;-))
|
| Au fait, ça veut dire quoi 'indexé" ?
Regarde dans la table, dans la propriété des champs, et spécialement
pour la clé primaire ou clé externe, champs de recherche etc...
A connaître *absolument* dès que l'on cherche sérieusement à créer
une base qui contient un peu plus que les tantes ou cousins germains...
:-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
|
| Yessssssssssssssssssssssssssssssss!
| J'ai trouvé, ouf!!!!
;-))
|
| Au fait, ça veut dire quoi 'indexé" ?
Regarde dans la table, dans la propriété des champs, et spécialement
pour la clé primaire ou clé externe, champs de recherche etc...
A connaître *absolument* dès que l'on cherche sérieusement à créer
une base qui contient un peu plus que les tantes ou cousins germains...
:-)
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
| mais je sais pas trop bien à quoi ca sert.
| Je sais juste que la clé primaire doit être indexée.
| J'avue y aller avec le feeling. si la donnée est importante, je l'indexe, si
| elle ne sert que d'intermédiaire, je ne l'indexe pas.
Les champs indexés sont gérés à part par Access.
Chaque index est repris dans une liste avec une référence à l'enregistrement
dont provient le champ.
Un exemple simple:
Si tu fait une recherche sur le nom d'une personne (LastName) et que ce champ
n'est pas indexé, Access charge toute la table et parcourt toute la "colonne"
LastName pour retrouver ce que tu cherches...
Si par contre ce champ est indexé, Access charge uniquement cet index,
cherche dans cette liste (qui est déjà triée) et récupère le pointeur qui
désigne l'enregistrement.
Les constatations d'un gros ralentissement lorsque la base est utilisée
en réseau vient souvent (mais pas exclusivenemt) de ce genre d'erreur.
Cela, parce que en local, Access à tout "sous la main" et les erreurs
de conception ne sont pas aussi pénalisante.
Ceci ne signifie pas qu'il faut tout simplement indexer tous les champs.
Car, le maintient d'un index consomme de la place et... du temps.
Si un champ est utiliser couramment pour les recherches ou les tris, il est
bon d'en prévoir l'indexation.
Quelques essais sur une base conséquente et sur un réseau quelque
peu encombré montre cela de façon flagrante.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
| mais je sais pas trop bien à quoi ca sert.
| Je sais juste que la clé primaire doit être indexée.
| J'avue y aller avec le feeling. si la donnée est importante, je l'indexe, si
| elle ne sert que d'intermédiaire, je ne l'indexe pas.
Les champs indexés sont gérés à part par Access.
Chaque index est repris dans une liste avec une référence à l'enregistrement
dont provient le champ.
Un exemple simple:
Si tu fait une recherche sur le nom d'une personne (LastName) et que ce champ
n'est pas indexé, Access charge toute la table et parcourt toute la "colonne"
LastName pour retrouver ce que tu cherches...
Si par contre ce champ est indexé, Access charge uniquement cet index,
cherche dans cette liste (qui est déjà triée) et récupère le pointeur qui
désigne l'enregistrement.
Les constatations d'un gros ralentissement lorsque la base est utilisée
en réseau vient souvent (mais pas exclusivenemt) de ce genre d'erreur.
Cela, parce que en local, Access à tout "sous la main" et les erreurs
de conception ne sont pas aussi pénalisante.
Ceci ne signifie pas qu'il faut tout simplement indexer tous les champs.
Car, le maintient d'un index consomme de la place et... du temps.
Si un champ est utiliser couramment pour les recherches ou les tris, il est
bon d'en prévoir l'indexation.
Quelques essais sur une base conséquente et sur un réseau quelque
peu encombré montre cela de façon flagrante.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Salut,
"Loïc V."
| mais je sais pas trop bien à quoi ca sert.
| Je sais juste que la clé primaire doit être indexée.
| J'avue y aller avec le feeling. si la donnée est importante, je l'indexe, si
| elle ne sert que d'intermédiaire, je ne l'indexe pas.
Les champs indexés sont gérés à part par Access.
Chaque index est repris dans une liste avec une référence à l'enregistrement
dont provient le champ.
Un exemple simple:
Si tu fait une recherche sur le nom d'une personne (LastName) et que ce champ
n'est pas indexé, Access charge toute la table et parcourt toute la "colonne"
LastName pour retrouver ce que tu cherches...
Si par contre ce champ est indexé, Access charge uniquement cet index,
cherche dans cette liste (qui est déjà triée) et récupère le pointeur qui
désigne l'enregistrement.
Les constatations d'un gros ralentissement lorsque la base est utilisée
en réseau vient souvent (mais pas exclusivenemt) de ce genre d'erreur.
Cela, parce que en local, Access à tout "sous la main" et les erreurs
de conception ne sont pas aussi pénalisante.
Ceci ne signifie pas qu'il faut tout simplement indexer tous les champs.
Car, le maintient d'un index consomme de la place et... du temps.
Si un champ est utiliser couramment pour les recherches ou les tris, il est
bon d'en prévoir l'indexation.
Quelques essais sur une base conséquente et sur un réseau quelque
peu encombré montre cela de façon flagrante.
--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)