Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2008, 11h21   #1
Membre du Club
 
Avatar de lerico
 
Inscription : avril 2004
Messages : 108
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 108
Points : 48
Points : 48
Par défaut Formulaire continu : alimentation champ indépendant

Bonjour à tous,
J'ai un formulaire continu qui me permet de mettre à jour les données d'une table.
Sur ce formulaire, dans la partie détail, j'ai un ID, un champ indépendant et un nombre (la donnée à modifier).
Mon problème est que l'ID correspond à une autre table qui contient son libellé. Et je voudrais afficher ce libellé dans le champ indépendant.
Quand je rajoute cette table dans la source du formulaire par le lien de l'ID, je ne peux plus saisir ou modifier les données.
J'ai essayé de mettre un recordset dans l'ouverture du formulaire mais il met uniquement le libellé du première ID trouvé, sur chaque ligne de détail.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_Current()
Dim oSql As DAO.Recordset
Dim IDR, LIB As Variant
Dim Ctl As Control
 
For Each Ctl In Me.Controls
    IDR = Me.ID.Value
 
    Set oSql = CurrentDb.OpenRecordset("SELECT LIBELLE FROM Types WHERE CP_ID=" & IDR & "")
 
    Set LIB = oSql.Fields("LIBELLE")
 
    Me.LIB = LIB
Next Ctl
 
End Sub
En espérant être clair,

Merci pour votre aide,

LeRico
lerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 13h46   #2
En attente de confirmation mail
 
Inscription : février 2005
Messages : 1 731
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : février 2005
Messages : 1 731
Points : 2 010
Points : 2 010
Bonjour,
Citation:
Envoyé par lerico Voir le message
J'ai essayé de mettre un recordset dans l'ouverture du formulaire mais il met uniquement le libellé du première ID trouvé, sur chaque ligne de détail.
...
En espérant être clair
Tu fais les frais d'un défaut de conception d'Access. Un contrôle indépendant affiché dans un formulaire continu ou une feuille de données ne peut afficher que "LA MEME VALEUR" qui est visuellement reproduite à chaque ligne.

Une solution facile est d'utiliser un contrôle calculé, basé sur les champs de la ligne de données.

Dans ton cas, voici l'expression Access qui convient (pour un Access francisé) en supposant qu'il existe un contrôle nommé [IDR] dépendant du champ [IDR]:
Code expression :
=Rechdom("LIBELLE";"Types";"CP_ID=" & [IDR])

Cette expression doit être saisie dans la propriété [Source contrôle] du contrôle [LIB] qui devient ainsi un contrôle dépendant calculé (non modifiable).
_
=JBO= est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h14.


 
 
 
 
Partenaires

Hébergement Web