enregistrement idem que le précédent

Le
Céline051
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
dumgest
Le #18466831
On 23 jan, 14:35, Céline051 wrote:
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroul ante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîss e par
défaut la donnée du contrôle précédent. J'ai vu dans le forum d es
explications sur variable globale mais je ne sais pas comment ça marche .
Pouvez-vous m'aider ? merci par avance.
Céline



à la main c'est: ctrl+'

et pour du code, je laisse la place au specialiste
Gilbert
Le #18466931
Bonjour,

Pour déclarer une variable globale tu crée un module standard dans lequel tu
mets une déclaration comme

Public TaVariable As LeTypeQuiVaBien

Ensuite tu utilises cette variable pour stocker la valeur de ton contrôle
Par exemple dans l'évènement AfterUpdate de ce contrôle tu mets
TaVariable =Me.LeControle

Et dans l'évènement Form_Current du formulaire tu ajoutes
Me.LeControle=TaVariable

--
Cordialement,

Gilbert


"Céline051" news:
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline


dumgest
Le #18467921
On 23 jan, 18:31, wrote:
On 23 jan, 14:35, Céline051 wrote:

> Bonjour,
> J'ai un formulaire avec un contrôle qui se fait avec une liste déro ulante
> provenant d'une table. Je souhaiterais que dans ce contrôle apparaî sse par
> défaut la donnée du contrôle précédent. J'ai vu dans le forum des
> explications sur variable globale mais je ne sais pas comment ça marc he.
> Pouvez-vous m'aider ? merci par avance.
> Céline

à la main c'est: ctrl+'

et pour du code, je laisse la place au specialiste



Private Sub cmdInsert_Click()

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdPasteAppend

End Sub
Céline051
Le #18484981
Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
procédure évennementielle, mais ça ne marche pas.
C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
une bonne journée.
Céline
Michel__D
Le #18486081
Bonjour,

"Céline051" news:
Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
procédure évennementielle, mais ça ne marche pas.
C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
une bonne journée.
Céline



Il vaut quand mieux comprendre ce que l'on fait, donc ton formulaire est
constitué d'entités (le formulaire en lui-même et des contrôles) et à ces
entités on peut faire réaliser des actions par rapport à des événements
(onglet "Evenement") soit sous la forme de "Macro" que l'on aura défini
ou soit de "Procédure événementielle" qui correspond à du code VBA.

Ensuite ta "Procédure événementielle" est en quelque sorte un sous-programme
par rapport au contexte global de ton formulaire et une particularité
dans l'exécution d'un sous-programme c'est que toute variable qui est
déclarée dans ce sous-programme n'est visible qu'à partir de ce
sous-programme.

Ainsi pour que tu puisse accéder à une variable dans plusieurs
"Procédure événementielle" il faut la déclarer de manière globale
autrement dit en-dehors de toute procédure.

Par exemple dans la portion de code vba plus bas, la variable
"oFso" est une variable globale et la variable "iC" est une variable
locale à la Procédure événementielle Change() du contrôle
ChampValeur.

' ------------------------------------Début du code VBA
Option Compare Database
Option Explicit

Dim oFso As Object

Private Sub ChampValeur_Change()
Dim iC As Long
...
End Sub
Céline051
Le #18523181
Merci pour l'information.
Bon après midi
Céline

"Michel__D" a écrit :

Bonjour,

"Céline051" news:
> Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
> ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
> procédure évennementielle, mais ça ne marche pas.
> C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
> que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
> une bonne journée.
> Céline

Il vaut quand mieux comprendre ce que l'on fait, donc ton formulaire est
constitué d'entités (le formulaire en lui-même et des contrôles) et à ces
entités on peut faire réaliser des actions par rapport à des événements
(onglet "Evenement") soit sous la forme de "Macro" que l'on aura défini
ou soit de "Procédure événementielle" qui correspond à du code VBA.

Ensuite ta "Procédure événementielle" est en quelque sorte un sous-programme
par rapport au contexte global de ton formulaire et une particularité
dans l'exécution d'un sous-programme c'est que toute variable qui est
déclarée dans ce sous-programme n'est visible qu'à partir de ce
sous-programme.

Ainsi pour que tu puisse accéder à une variable dans plusieurs
"Procédure événementielle" il faut la déclarer de manière globale
autrement dit en-dehors de toute procédure.

Par exemple dans la portion de code vba plus bas, la variable
"oFso" est une variable globale et la variable "iC" est une variable
locale à la Procédure événementielle Change() du contrôle
ChampValeur.

' ------------------------------------Début du code VBA
Option Compare Database
Option Explicit

Dim oFso As Object

Private Sub ChampValeur_Change()
Dim iC As Long
...
End Sub




celine     dit :
Le #18572301
coucousavatoi oui ou non jemapéle celine étoi comontapéletu


"Céline051" wrote:

Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline


Publicité
Poster une réponse
Anonyme