Comment lier une zone de texte avec un champ qui n'appartient pas à la table "Source d'enregistrement" du formulaire via la vue de conception?
Exemple: J'ai "Order.cust_id" (Record Source = Order) et je veux afficher "Customers.name". Je crois que c'est trivial mais je n'ai aucune expérience avec MS Access. J'ai essayé d'utiliser la propriété "Control Source" de la zone de texte mais pas de chance.Comment afficher une valeur de champ * foreign * dans une zone de texte?
Répondre
Vous pouvez utiliser DLookup comme source de contrôle d'une zone de texte:
=DlookUp("[Name]", "Customer", "ID=" & Cust_ID)
Syntaxe: Que rechercher, nom de la table, où la déclaration
La Où déclaration doit suivre les règles de Jet SQL, ce qui signifie que vous devez utiliser des délimiteurs si le champ est au format texte ou date.
Notez que Name est un très mauvais nom en effet pour quoi que ce soit. Je vous suggère de renommer le domaine immédiatement avant que les choses ne s'aggravent.
Il peut être utile de connaître la/les erreur (s).
Vous pouvez créer une nouvelle vue (par exemple OrdersAndCustomerNames
), sélectionnez toutes les colonnes que vous souhaitez utiliser sous la forme, puis au lieu d'utiliser la table Order
comme source d'enregistrement, vous suffit de passer à OrdersAndCustomerNames
. Vous dites que vous n'avez aucune expérience avec MS Access, donc je suppose que vous ne construisez rien d'énorme et trop compliqué, alors je le ferais de cette façon. Je suis tout à fait sûr que cela peut être fait plus élégamment mais cela fera pour l'instant.
Merci, mais j'ai besoin de plus de * contrôle * car j'utiliserai 4 à 5 tables. –
Une méthode consisterait à convertir la zone de texte en zone de liste modifiable. Définissez ensuite la source de ligne pour inclure à la fois le cust_Id et le Customer.Name de la table client. Exemple d'instruction SQL
Select Cust_ID, Name From Customer
Order By Name;
En définissant le nombre de colonnes sur 2 et les largeurs de colonne; la première colonne étant zéro (c'est-à-dire "0; 6"), la clé étrangère serait cachée à l'utilisateur et le nom du client serait affiché.
Notez que cette méthode vous oblige à définir la valeur limite sur true.
Aussi, vous finissez avec une liste déroulante qui peut ne pas être ce que vous voulez.
Je souhaite afficher sur un formulaire les champs de différentes tables et j'ai les ID étrangers dans une table. Je vais utiliser des zones de texte et des combos. Je ne m'inquiète pas si je dois utiliser VBA pour l'accomplir. –
OK Je suis heureux d'aider. Notez que vous pouvez le configurer dans la vue de conception de table - puis, lorsque vous créez un formulaire, il deviendra par défaut une zone de liste déroulante. Mais l'inconvénient est que vous cachez les valeurs de la clé étrangère de vous-même. – Mark3308
Mauvais conseil, Mark3308 - les champs de recherche dans la conception de table sont terribles car ils causent tant de problèmes (vous pensez que vous pouvez interroger sur la valeur affichée, mais vous pouvez seulement interroger sur la valeur qui se trouve derrière, et vous ne pouvez pas voir cette). Les zones de liste déroulante sont un objet d'interface utilisateur, et les tables et les requêtes sont des objets de données, pas des objets d'interface utilisateur (même si l'on peut faire avec eux comme une interface utilisateur). Les listes déroulantes appartiennent à des formes et nulle part ailleurs. –
- 1. Comment afficher le HTML dans une zone de texte
- 2. Comment afficher un accent grave dans une zone de texte
- 3. Afficher les données dans une zone de texte
- 4. Valeur d'entrée dans une zone de texte de fenêtre enfant
- 5. Comment afficher une zone d'édition de texte "sur" l'écran?
- 6. Afficher uniquement les numéros dans une zone de texte
- 7. Comment imprimer une valeur dans la zone de texte à partir du fichier texte?
- 8. comment obtenir une valeur de zone de texte HTML dans une autre table HtMl
- 9. Comment modifier le nom de la valeur supérieure dans une zone de texte d'un rapport Cognos?
- 10. Comment afficher une zone de texte, un bouton, etc. dans une applet Java?
- 11. Comment puis-je afficher une valeur dans un indicateur de zone de texte et un curseur dans LabVIEW?
- 12. Comment effacer une zone de texte onfocus?
- 13. Comment ajouter une zone de texte dynamiquement?
- 14. Comment récupérer une valeur de zone de texte à l'aide de JQuery?
- 15. Intégrer l'image dans une zone de texte
- 16. Comment récupérer une valeur modifiée de zone de texte de données dans datagrid
- 17. Comment afficher une icône dans la zone de notification?
- 18. Comment passer la valeur d'une zone de texte dans une grille de données à javascript
- 19. MS-Excel: comment afficher la valeur d'une zone de liste déroulante dans une cellule verrouillée
- 20. Comment faire correspondre une valeur de table à une valeur de zone de texte en utilisant C#
- 21. Comment puis-je afficher des documents Word dans une zone de texte en utilisant PHP?
- 22. DrawString sur une zone de texte
- 23. Comment mettre un masque dans une zone de texte?
- 24. comment supprimer une zone de texte dans emacs?
- 25. Afficher un champ de texte avec des guillemets simples
- 26. Comment créer une valeur de champ AutoNumber dans Access?
- 27. C# Valeur arrondie d'une zone de texte
- 28. Zone de texte Valeur non enregistrée
- 29. Comment justifiez-vous le texte dans une zone de texte HTML?
- 30. Comment insérer une valeur dans un champ de texte d'un formulaire HTML en utilisant xcode?
Pouvez-vous s'il vous plaît mettre à jour le code avec Customer.id, Customer.name, Order.Mots-clés cust_id VB n'est pas mon fort et je reçois quelques msgs d'erreur :) –
Fait, avec quelques notes. DlookUp est assez standard pour les formulaires et vous obtiendrez des informations à ce sujet dans MS Help. Le constructeur d'expression peut également aider avec des fonctions intégrées. – Fionnuala
C'est tout. Merci! –