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

Formulaire continu - 2eme

6 réponses
Avatar
Nathalie Lebas
Bonjour à tous,
Je suis toujours avec mes problèmes de formulaires continus et ce que je
n'arrive pas à en faire !
D'habitude, lorsque je charge un formulaire continu, dans la source du
formulaire, je mets le nom de ma requête et chaque champ du formulaire a pour
source un champ de ma requête, cela fonctionne très bien.
Aujourd'hui, j'ai besoin de procéder autrement et j'en suis incapable par
manque de connaissances sur les formulaires continus.
Je voudrais ne pas mettre de source à mon formulaire, ne pas mettre de
source pour ses champs (dont champs indépendants). Puis dans le code,
j'aimerais pourvoir lors du chargement du formulaire, garnir ses champs avec
ceux de la requête. Enfin lorsque l'utilisateur sortira du formulaire,
j'aimerais pouvoir récupérer sa saisie ligne par ligne afin de mettre à jour
les tables correspondantes.
J'espère être claire !
J'ai besoin de faire de cette manière (enfin je pense que ce sera la
solution à mes problèmes) car si je mets ma requête (qui est en réalité 4
requêtes imbriquées) en source du formulaire, je ne peux pas saisir
d'information dans mon formulaire, le message "Impossible de mettre à jour
Recordset" s'affiche.
Merci de votre aide
--
Nathalie

6 réponses

Avatar
jerome crevecoeur
Bonjour,

1)Une solution est de passer par une table temporaire et sur un bouton
valider de transférer les données saisies dans les tables finales.

Si les liens entre les tables sont juste là pour afficher des
informations genre le libellé du client.

2)On peut mettre un champ dlookup dans la requete source du client, ce
qui est catastrophique pour les performances, nullement conseillé...
mais ça marche.

3)Revoir les clés primaires pour pouvoir saisir

Cordialement

Bonjour à tous,
Je suis toujours avec mes problèmes de formulaires continus et ce que je
n'arrive pas à en faire !
D'habitude, lorsque je charge un formulaire continu, dans la source du
formulaire, je mets le nom de ma requête et chaque champ du formulair e a pour
source un champ de ma requête, cela fonctionne très bien.
Aujourd'hui, j'ai besoin de procéder autrement et j'en suis incapable par
manque de connaissances sur les formulaires continus.
Je voudrais ne pas mettre de source à mon formulaire, ne pas mettre d e
source pour ses champs (dont champs indépendants). Puis dans le code,
j'aimerais pourvoir lors du chargement du formulaire, garnir ses champs avec
ceux de la requête. Enfin lorsque l'utilisateur sortira du formulaire ,
j'aimerais pouvoir récupérer sa saisie ligne par ligne afin de mett re à jour
les tables correspondantes.
J'espère être claire !
J'ai besoin de faire de cette manière (enfin je pense que ce sera la
solution à mes problèmes) car si je mets ma requête (qui est en r éalité 4
requêtes imbriquées) en source du formulaire, je ne peux pas saisir
d'information dans mon formulaire, le message "Impossible de mettre à jour
Recordset" s'affiche.
Merci de votre aide


Avatar
Nathalie Lebas
Bonjour Jerome,
Merci de me répondre.
Je n'ai pas tout compris.
1) si tu passes par une table intermédiaire, comment garnis-tu ton
formulaire continu. Pour un formulaire en mode simple, pas de problème, au
chargement, je mets une donnée par champ indépendant. Pour un formulaire
continu, comment garnir les lignes ?
2) dlookup, je ne connais pas. Qu'est ce ? Les performances ne sont pas un
problème, il s'agit de bases de données sur portable avec un utilisateur.
Elles ne sont pas en réseau, je ne m'inquiète pas.
3) je sais ce qui pose problème mais malheureusement je ne peux pas changer.
A bientôt
--
Nathalie



Bonjour,

1)Une solution est de passer par une table temporaire et sur un bouton
valider de transférer les données saisies dans les tables finales.

Si les liens entre les tables sont juste là pour afficher des
informations genre le libellé du client.

2)On peut mettre un champ dlookup dans la requete source du client, ce
qui est catastrophique pour les performances, nullement conseillé...
mais ça marche.

3)Revoir les clés primaires pour pouvoir saisir

Cordialement

Bonjour à tous,
Je suis toujours avec mes problèmes de formulaires continus et ce que je
n'arrive pas à en faire !
D'habitude, lorsque je charge un formulaire continu, dans la source du
formulaire, je mets le nom de ma requête et chaque champ du formulaire a pour
source un champ de ma requête, cela fonctionne très bien.
Aujourd'hui, j'ai besoin de procéder autrement et j'en suis incapable par
manque de connaissances sur les formulaires continus.
Je voudrais ne pas mettre de source à mon formulaire, ne pas mettre de
source pour ses champs (dont champs indépendants). Puis dans le code,
j'aimerais pourvoir lors du chargement du formulaire, garnir ses champs avec
ceux de la requête. Enfin lorsque l'utilisateur sortira du formulaire,
j'aimerais pouvoir récupérer sa saisie ligne par ligne afin de mettre à jour
les tables correspondantes.
J'espère être claire !
J'ai besoin de faire de cette manière (enfin je pense que ce sera la
solution à mes problèmes) car si je mets ma requête (qui est en réalité 4
requêtes imbriquées) en source du formulaire, je ne peux pas saisir
d'information dans mon formulaire, le message "Impossible de mettre à jour
Recordset" s'affiche.
Merci de votre aide






Avatar
jerome crevecoeur
Nathalie:

1)En fait à l'ouverture du formulaire, je remplis ma table temporaire
avec les données de ma requête.

Puis ce formulaire en mode continue est basé sur la table temporaire
donc entièrement modifiable et les données sont bien là.

Les manips sont:
a)création de la table temporaire avec les champs nécessaire à l'af fichage
b)Requête d'actualisation de cette table temporaire par la requete
"lourde et complexe"
c) Sur le formulaire, rapatrier les données saisies dans les tables ré elles.

Cela permet d'avoir une table tampon pour faciliter la saisie.



2) Par exemple s'il y a une jointure entre une table lignecommande et
article uniquement pour faire afficher le libellé de l'article, on peut
soit faire une expression dans la requete, soit dans la source du champ
du formulaire continu faire:

Dlookup("champlibarticle";"article";"codearticle='" & [articlecommande]
& "'')

Tout ceci est une réponse assez vague, peut être en nous précisant les
problèmes précis,(les tables en jeux), on pourrait trouver une meille ure
solution


Je ne suis pas sur d'être clair.

EKYOGGUEMENT Vôtre !




Bonjour Jerome,
Merci de me répondre.
Je n'ai pas tout compris.
1) si tu passes par une table intermédiaire, comment garnis-tu ton
formulaire continu. Pour un formulaire en mode simple, pas de problèm e, au
chargement, je mets une donnée par champ indépendant. Pour un formu laire
continu, comment garnir les lignes ?
2) dlookup, je ne connais pas. Qu'est ce ? Les performances ne sont pas un
problème, il s'agit de bases de données sur portable avec un utilis ateur.
Elles ne sont pas en réseau, je ne m'inquiète pas.
3) je sais ce qui pose problème mais malheureusement je ne peux pas c hanger.
A bientôt


Avatar
Nathalie Lebas
Bonjour Jerome,
Tu es clair, pas de problème.
Merci de tes réponses.
En vérité, j'ai eu la même idée que toi avec la table temporaire.
Mais je pensais qu'il y avait une solution pour charger les champs de la
requête (de base) dans ceux du formulaire, par code. Et ensuite, "lire" les
champs du formulaire et mettre les tables à jour.
Je vois que ce n'est pas si simple donc je vais mettre en place une table
temporaire.
Merci de ton aide, je t'écrire pour te dire si c'est OK
A +
--
Nathalie



Nathalie:

1)En fait à l'ouverture du formulaire, je remplis ma table temporaire
avec les données de ma requête.

Puis ce formulaire en mode continue est basé sur la table temporaire
donc entièrement modifiable et les données sont bien là.

Les manips sont:
a)création de la table temporaire avec les champs nécessaire à l'affichage
b)Requête d'actualisation de cette table temporaire par la requete
"lourde et complexe"
c) Sur le formulaire, rapatrier les données saisies dans les tables réelles.

Cela permet d'avoir une table tampon pour faciliter la saisie.



2) Par exemple s'il y a une jointure entre une table lignecommande et
article uniquement pour faire afficher le libellé de l'article, on peut
soit faire une expression dans la requete, soit dans la source du champ
du formulaire continu faire:

Dlookup("champlibarticle";"article";"codearticle='" & [articlecommande]
& "'')

Tout ceci est une réponse assez vague, peut être en nous précisant les
problèmes précis,(les tables en jeux), on pourrait trouver une meilleure
solution


Je ne suis pas sur d'être clair.

EKYOGGUEMENT Vôtre !




Bonjour Jerome,
Merci de me répondre.
Je n'ai pas tout compris.
1) si tu passes par une table intermédiaire, comment garnis-tu ton
formulaire continu. Pour un formulaire en mode simple, pas de problème, au
chargement, je mets une donnée par champ indépendant. Pour un formulaire
continu, comment garnir les lignes ?
2) dlookup, je ne connais pas. Qu'est ce ? Les performances ne sont pas un
problème, il s'agit de bases de données sur portable avec un utilisateur.
Elles ne sont pas en réseau, je ne m'inquiète pas.
3) je sais ce qui pose problème mais malheureusement je ne peux pas changer.
A bientôt






Avatar
Nathalie Lebas
Bonjour Jerome,
J'ai donc écris le module avec la table temporaire et cela fonctionne très
bien.
Finalement je conserve cette méthode puisqu'il ne semble pas y en avoir de
meilleure.

A bientôt
--
Nathalie



Nathalie:

1)En fait à l'ouverture du formulaire, je remplis ma table temporaire
avec les données de ma requête.

Puis ce formulaire en mode continue est basé sur la table temporaire
donc entièrement modifiable et les données sont bien là.

Les manips sont:
a)création de la table temporaire avec les champs nécessaire à l'affichage
b)Requête d'actualisation de cette table temporaire par la requete
"lourde et complexe"
c) Sur le formulaire, rapatrier les données saisies dans les tables réelles.

Cela permet d'avoir une table tampon pour faciliter la saisie.



2) Par exemple s'il y a une jointure entre une table lignecommande et
article uniquement pour faire afficher le libellé de l'article, on peut
soit faire une expression dans la requete, soit dans la source du champ
du formulaire continu faire:

Dlookup("champlibarticle";"article";"codearticle='" & [articlecommande]
& "'')

Tout ceci est une réponse assez vague, peut être en nous précisant les
problèmes précis,(les tables en jeux), on pourrait trouver une meilleure
solution


Je ne suis pas sur d'être clair.

EKYOGGUEMENT Vôtre !




Bonjour Jerome,
Merci de me répondre.
Je n'ai pas tout compris.
1) si tu passes par une table intermédiaire, comment garnis-tu ton
formulaire continu. Pour un formulaire en mode simple, pas de problème, au
chargement, je mets une donnée par champ indépendant. Pour un formulaire
continu, comment garnir les lignes ?
2) dlookup, je ne connais pas. Qu'est ce ? Les performances ne sont pas un
problème, il s'agit de bases de données sur portable avec un utilisateur.
Elles ne sont pas en réseau, je ne m'inquiète pas.
3) je sais ce qui pose problème mais malheureusement je ne peux pas changer.
A bientôt






Avatar
jerome crevecoeur
je suis ravi que ma réponse ait pu être profitable (temporaire)!

Bonjour Jerome,
J'ai donc écris le module avec la table temporaire et cela fonctionne très
bien.
Finalement je conserve cette méthode puisqu'il ne semble pas y en avo ir de
meilleure.

A bientôt