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

Un État dynamique qui ne se dinamise pas

7 réponses
Avatar
lauzonmi
Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),

J'ai des données qui se situent sur plusieurs bases de données.

En Vba j'arrive à très bien orchestrer la sortie de mes données sur le même
formulaire en utilisant la fonction.

Set Forms!LeFormulaire.Recordset = ArchRs

Avec même des données dans un sous formulaire

Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs

Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
méthodes:

Set Reports(stDocName).Recordset = ArchRS
Set Reports(stDocName).Report.Recordset = ArchRS

J'obtiens toujours le même message d'erreur:

Cette fonction n'est pas disponible dans une MDB. !!!!!

J'ai aussi essayé la fonction recordSource et le message est:

"Une utilisation incorrecte de la propriété."

Les appels se faisait d'un formulaire après l'ouverture de l'état.

Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
et j'obtiens les mêmes message d'erreurs.....

Est ce que quelqu'un sait comment rendre cet état plus dynamique???

Merci à l'avance

7 réponses

Avatar
CErnst
Ouvrez l'état en mode création invisible, affectez le recordset, fermez
l'état en sauvegardant et lancez-le


"lauzonmi" a écrit dans le message de
news:
Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),

J'ai des données qui se situent sur plusieurs bases de données.

En Vba j'arrive à très bien orchestrer la sortie de mes données sur le
même
formulaire en utilisant la fonction.

Set Forms!LeFormulaire.Recordset = ArchRs

Avec même des données dans un sous formulaire

Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs

Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
méthodes:

Set Reports(stDocName).Recordset = ArchRS
Set Reports(stDocName).Report.Recordset = ArchRS

J'obtiens toujours le même message d'erreur:

Cette fonction n'est pas disponible dans une MDB. !!!!!

J'ai aussi essayé la fonction recordSource et le message est:

"Une utilisation incorrecte de la propriété."

Les appels se faisait d'un formulaire après l'ouverture de l'état.

Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
et j'obtiens les mêmes message d'erreurs.....

Est ce que quelqu'un sait comment rendre cet état plus dynamique???

Merci à l'avance


Avatar
CErnst
Autre méthode :
Affectez une requête à l'état. et avant de lancer l'état, modifier la chaine
SQL de la requête

"lauzonmi" a écrit dans le message de
news:
Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),

J'ai des données qui se situent sur plusieurs bases de données.

En Vba j'arrive à très bien orchestrer la sortie de mes données sur le
même
formulaire en utilisant la fonction.

Set Forms!LeFormulaire.Recordset = ArchRs

Avec même des données dans un sous formulaire

Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs

Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
méthodes:

Set Reports(stDocName).Recordset = ArchRS
Set Reports(stDocName).Report.Recordset = ArchRS

J'obtiens toujours le même message d'erreur:

Cette fonction n'est pas disponible dans une MDB. !!!!!

J'ai aussi essayé la fonction recordSource et le message est:

"Une utilisation incorrecte de la propriété."

Les appels se faisait d'un formulaire après l'ouverture de l'état.

Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
et j'obtiens les mêmes message d'erreurs.....

Est ce que quelqu'un sait comment rendre cet état plus dynamique???

Merci à l'avance


Avatar
lauzonmi
Merci...

Mais j'avais déjà une requête comme source, je l'ai remplacé par le SQL

j'obtiens toujours le même message:

> Cette fonction n'est pas disponible dans une MDB. !!!!!




-
"CErnst" wrote:

Autre méthode :
Affectez une requête à l'état. et avant de lancer l'état, modifier la chaine
SQL de la requête

"lauzonmi" a écrit dans le message de
news:
> Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),
>
> J'ai des données qui se situent sur plusieurs bases de données.
>
> En Vba j'arrive à très bien orchestrer la sortie de mes données sur le
> même
> formulaire en utilisant la fonction.
>
> Set Forms!LeFormulaire.Recordset = ArchRs
>
> Avec même des données dans un sous formulaire
>
> Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs
>
> Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
> méthodes:
>
> Set Reports(stDocName).Recordset = ArchRS
> Set Reports(stDocName).Report.Recordset = ArchRS
>
> J'obtiens toujours le même message d'erreur:
>
> Cette fonction n'est pas disponible dans une MDB. !!!!!
>
> J'ai aussi essayé la fonction recordSource et le message est:
>
> "Une utilisation incorrecte de la propriété."
>
> Les appels se faisait d'un formulaire après l'ouverture de l'état.
>
> Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
> et j'obtiens les mêmes message d'erreurs.....
>
> Est ce que quelqu'un sait comment rendre cet état plus dynamique???
>
> Merci à l'avance





Avatar
Michel__D
Bonjour,

Mouais, je comprends pas trop ce que tu veux faire !

Si c'est pour changer la source d'un Formulaire/Etat tu peux modifier la
propriété RecordSource du Formulaire/Etat et si le Formulaire/Etat est
basé sur une requête enregistrée tu peux modifier le SQL de cette requête.


PS:L'instruction Set sert à définir une variable de type Object, donc ...


lauzonmi a écrit :
Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),

J'ai des données qui se situent sur plusieurs bases de données.

En Vba j'arrive à très bien orchestrer la sortie de mes données sur le même
formulaire en utilisant la fonction.

Set Forms!LeFormulaire.Recordset = ArchRs

Avec même des données dans un sous formulaire

Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs

Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
méthodes:

Set Reports(stDocName).Recordset = ArchRS
Set Reports(stDocName).Report.Recordset = ArchRS

J'obtiens toujours le même message d'erreur:

Cette fonction n'est pas disponible dans une MDB. !!!!!

J'ai aussi essayé la fonction recordSource et le message est:

"Une utilisation incorrecte de la propriété."

Les appels se faisait d'un formulaire après l'ouverture de l'état.

Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
et j'obtiens les mêmes message d'erreurs.....

Est ce que quelqu'un sait comment rendre cet état plus dynamique???

Merci à l'avance


Avatar
Jac
Bonjour lauzonmi,

je reviens sur le concept : en règle générale, on affiche dans un état
ou un sous-état les données provenant d'une (ou plusieurs) requête.
Donc pour ne pas te battre avec un état récalcitrant, arrange-toi pour
voir ce que tu dois imprimer dans la requête qui alimentera ton état
puis dans la requête qui alimentera ton sous-état.

Ce n'est pas dans l'état que tu dois résoudre tes problèmes, mais dans
la requête.

Jac

lauzonmi a pensé très fort :
Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),

J'ai des données qui se situent sur plusieurs bases de données.

En Vba j'arrive à très bien orchestrer la sortie de mes données sur le même
formulaire en utilisant la fonction.
Set Forms!LeFormulaire.Recordset = ArchRs
Avec même des données dans un sous formulaire
Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs
Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
méthodes:
Set Reports(stDocName).Recordset = ArchRS
Set Reports(stDocName).Report.Recordset = ArchRS
J'obtiens toujours le même message d'erreur:
Cette fonction n'est pas disponible dans une MDB. !!!!!
J'ai aussi essayé la fonction recordSource et le message est:
"Une utilisation incorrecte de la propriété."
Les appels se faisait d'un formulaire après l'ouverture de l'état.
Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
et j'obtiens les mêmes message d'erreurs.....
Est ce que quelqu'un sait comment rendre cet état plus dynamique???

Merci à l'avance


Avatar
lauzonmi
Merci Jac,

Oui, c'est ce que j'ai fait au niveau du formulaire.

Rappel j'ai des tables archives qui se créent années après années. pour ne
pas alourdir la base de donnée principale (DG.mdb) je les places dans une
autre base de donnée (DGArch.mdb). Lorsque je dois faire appel à des données
de cette table je redirige ma chaine de connexion vers celle-ci et je peux
visualiser les données dans le formulaire.

Quand je veux appliquer la même formule à mon état je reçois le message
d'erreur:

Cette fonction n'est pas disponible dans une MDB. !!!!!

De la ma frustration... Ça fonctionne si bien pour le formulaire!!!

J'en suis à recopier les données dans ma base principale, à la dure, pour
pouvoir minimiser mes efforts mais je trouve cela redondant et surtout
anti-programmable.

Michel

"Jac" wrote:

Bonjour lauzonmi,

je reviens sur le concept : en règle générale, on affiche dans un état
ou un sous-état les données provenant d'une (ou plusieurs) requête.
Donc pour ne pas te battre avec un état récalcitrant, arrange-toi pour
voir ce que tu dois imprimer dans la requête qui alimentera ton état
puis dans la requête qui alimentera ton sous-état.

Ce n'est pas dans l'état que tu dois résoudre tes problèmes, mais dans
la requête.

Jac

lauzonmi a pensé très fort :
> Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),
>
> J'ai des données qui se situent sur plusieurs bases de données.
>
> En Vba j'arrive à très bien orchestrer la sortie de mes données sur le même
> formulaire en utilisant la fonction.
> Set Forms!LeFormulaire.Recordset = ArchRs
> Avec même des données dans un sous formulaire
> Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs
> Je voudrais bien reproduire la même chose avec mon État, j'ai essayé deux
> méthodes:
> Set Reports(stDocName).Recordset = ArchRS
> Set Reports(stDocName).Report.Recordset = ArchRS
> J'obtiens toujours le même message d'erreur:
> Cette fonction n'est pas disponible dans une MDB. !!!!!
> J'ai aussi essayé la fonction recordSource et le message est:
> "Une utilisation incorrecte de la propriété."
> Les appels se faisait d'un formulaire après l'ouverture de l'état.
> Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de l'état
> et j'obtiens les mêmes message d'erreurs.....
> Est ce que quelqu'un sait comment rendre cet état plus dynamique???
>
> Merci à l'avance





Avatar
CErnst
le message "C'est une fonction...." indique que dans la requête, une
fonction qui n'est pas une fonction Access est utilisée.
Le problème est donc différent. C'est votre requête qu'il fazut analyser.


"lauzonmi" a écrit dans le message de
news:
Merci...

Mais j'avais déjà une requête comme source, je l'ai remplacé par le SQL

j'obtiens toujours le même message:

> Cette fonction n'est pas disponible dans une MDB. !!!!!




-
"CErnst" wrote:

Autre méthode :
Affectez une requête à l'état. et avant de lancer l'état, modifier la
chaine
SQL de la requête

"lauzonmi" a écrit dans le message
de
news:
> Bonjour à tous et à toutes (enfin je ne vous ai pas oublié),
>
> J'ai des données qui se situent sur plusieurs bases de données.
>
> En Vba j'arrive à très bien orchestrer la sortie de mes données sur le
> même
> formulaire en utilisant la fonction.
>
> Set Forms!LeFormulaire.Recordset = ArchRs
>
> Avec même des données dans un sous formulaire
>
> Set Forms!ArchResult!Sous_EnvResult.Form.Recordset = ArchTRs
>
> Je voudrais bien reproduire la même chose avec mon État, j'ai essayé
> deux
> méthodes:
>
> Set Reports(stDocName).Recordset = ArchRS
> Set Reports(stDocName).Report.Recordset = ArchRS
>
> J'obtiens toujours le même message d'erreur:
>
> Cette fonction n'est pas disponible dans une MDB. !!!!!
>
> J'ai aussi essayé la fonction recordSource et le message est:
>
> "Une utilisation incorrecte de la propriété."
>
> Les appels se faisait d'un formulaire après l'ouverture de l'état.
>
> Maintenant j'ai déplacé l'appel dans l'événement "sur ouverture" de
> l'état
> et j'obtiens les mêmes message d'erreurs.....
>
> Est ce que quelqu'un sait comment rendre cet état plus dynamique???
>
> Merci à l'avance