2015-04-10 4 views
1

J'ai rencontré un barrage routier dans mon formulaire d'accès et j'ai cherché haut et bas pour une réponse. J'ai un formulaire (Enter Numbers) dans lequel les utilisateurs entrent des informations qui sont évidemment stockées dans un tableau (Numbers). Je dois avoir un champ (nombre de modèles) dans la table des nombres, cependant, je ne veux pas demander aux utilisateurs d'entrer cette information. De plus, dans une autre table (information sur la propriété), j'ai déjà saisi cette information. Maintenant avant de me dire que c'est redondant ... bla bla bla, pour stocker la même information dans deux tableaux ..... le champ (# de modèles) dans la table (information de la propriété) peut changer, alors qu'en stockant cela nombre dans la table (numéros) chaque fois que les utilisateurs entrent des informations dans le formulaire, je reçois un instantané qui ne changera pas.copier un champ à un autre champ dans l'accès

J'ai une zone de texte qui utilise une fonction dlookup pour extraire le (nombre de modèles) de la table (information de la propriété) et l'affiche dans le formulaire. J'ai eu (et je n'ai aucune idée de pourquoi il ne fonctionne plus correctement) un bouton dans le formulaire, que lorsque poussé serait exécuté le code suivant "text66 = models" Ensuite, j'ai eu un docmd.close pour mettre le résultat dlookup situé dans field (models) into (text66) dont la source de contrôle est le champ (nombre de modèles) dans la table (numbers). Cela a fonctionné parfaitement, et puis quelque chose s'est passé, et maintenant quand je clique sur le bouton, je reçois une erreur "vous ne pouvez pas attribuer de valeur à cet objet".

Peu m'importe par quelle méthode je copie le résultat de dlookup dans la table (nombres), mais j'apprécierais certainement n'importe quelle aide en faisant ainsi! Merci.

Répondre

2

Avec Access 2010 et plus tard, vous pouvez utiliser un avant le changement data macro sur le [Nombres] table pour récupérer une copie de la valeur de l'autre table:

BeforeChange.png

+0

Gord ...... vous êtes un sauveteur !! Je me suis cogné la tête dessus pendant trop longtemps, votre macro a fonctionné magnifiquement. Merci! – Turniipp

0

Je crois que cela peut travailler pour vous:

Utilisez une requête de mise à jour. Ajoutez le second champ, si nécessaire. Ouvrez le concepteur de requêtes. Faites glisser les champs de champ source et de destination sur le concepteur de requêtes. Ouvrez la vue sql et faites ressembler votre code:

METTRE À JOUR le nom de la table
SET field2 = field1;

Exécutez maintenant la requête. Field2 est le champ sur lequel vous souhaitez copier les données. field1 est l'endroit où les données résident.

Il y avait un fil here concernant une question similaire.

+0

Croyez-moi, je lis ce fil, donc si je vous comprends bien, j'ai alors un bouton qui exécute cette requête chaque fois qu'ils veulent enregistrer leurs résultats? Il ne s'agit pas d'une mise à jour ponctuelle de champs, cela doit se produire chaque fois qu'un utilisateur utilise le formulaire pour entrer des données, et je souhaite que le champ de cet enregistrement spécifique dans le formulaire/table soit mis à jour. entrées pour ce champ dans la table. – Turniipp