2009-03-17 10 views
1

En utilisant Access 2007, j'ai une mise à jour que j'essaye de construire un script ou une macro ou même juste un morceau utile de SQL que je peux garder et utiliser quand je veux exécuter la mise à jour ...Plusieurs requêtes de mise à jour dans Access

... J'ai compris comment cela avec une requête de mise à jour, mais je ne veux pas avoir à passer une heure ou chaque fois que je veux mettre à jour ...

Fondamentalement, je suis symboles de bureau de marche croisée pour l'ancien à nouveau ... mais tous les anciens symboles de bureau doivent être mis à jour:

Ceci est la vue SQL de dans l'accès:

UPDATE [Actions Completed - Back UP] 
SET [Actions Completed - Back UP].OFC_NEW = [UPDATE TO:] 
WHERE ((([Actions Completed - Back UP].OFC) Like [old])); 

je invites à courir seulement à travers ma liste de changements ...

MERCI!

yoopersmith

+0

Pouvez-vous expliquer ce que « Symboles de bureau de marche pour l'ancien au nouveau » signifie exactement? Pouvez-vous également expliquer en anglais ce que vous voulez exactement que la requête accomplisse. C'est un peu difficile à distinguer de votre description du problème. – JohnFx

+0

"OFC" ...qui contient des codes pour différentes divisions de mon organisation ... les codes OFC sont obsolètes. Donc ce qui était SYK est maintenant SYSW. SMC/PK = SYSW, AXK = SMC/PK. 95 vieux et environ 20 nouveaux codes. –

Répondre

0

Vous devez décrire votre problème un peu plus je pense, ce que vous essayez d'atteindre est pas tout à fait clair: expliquer ce que vous êtes suivi, comment votre table est fait et ce qu'il contient.

Ceci étant dit, en utilisant une forme de fiche technique est un moyen très facile d'entrer vos données (Access 2007):

  • cliquez sur votre table Actions Completed - Back UP.
  • créer une nouvelle forme de fiche technique (Forms> Plus Forms> Fiche technique)
  • vous pouvez masquer les colonnes que vous ne voulez pas apparaître (clic droit et sélectionnez Masquer)
  • vous pouvez verrouiller les colonnes que vous n » t vouloir modifier par erreur (dans la feuille de propriétés> Données> verrouillé = Oui)
  • Vous pouvez commander et pré-filtrer la liste (mettre le tableau en mode Création dans Accueil> Affichage, cliquez sur le formulaire et dans la propriété Feuille sous Données que vous pouvez modifier Commandez par et Filtrez)
  • Lors de la visualisation des données, vous pouvez également filtrer t Il liste en fonction des filtres de colonne (cliquez sur le triangle dans l'en-tête de la colonne et vous obtiendrez une liste des options de filtrage, comme Excel).

Vous devriez maintenant être en mesure d'éditer vos données beaucoup plus rapidement que d'avoir à remplir des champs de saisie.

Il y a des choses plus intéressantes que vous pourriez faire, mais puisque nous ne savons pas grand-chose de votre problème, il est un peu difficile de savoir si cela vous aiderait ou non.

+0

Ok ... Je vais décrire un peu plus de détails: J'ai une colonne de données appelée "OFC" ... qui contient des codes pour différentes divisions dans mon organisation ... le code OFC sont périmés. Alors ce qui était Syk est maintenant SYSW SMC/PK est maintenant SYSW AXK est SMC/PK J'ai environ 95 anciens et 20 nouveaux –

3

Je vous suggère de créer une table qui contient les modifications nécessaires:

OldCode NewCode 
SYK  SYSW 
SMC/PK SYSW 
AXK  SMC/PK 

Et ainsi de suite.

Vous pouvez ensuite exécuter facilement une requête de mise à jour:

UPDATE tblTable 
INNER JOIN tblNewCodes ON tblTable.Code = tblNewCodes.OldCode 
SET tblTable.Code = tblNewCodes.NewCode 
+0

MERCI! Je vais essayer –

+0

MISE À JOUR Actions terminées INNER JOIN OFCupdate ON OFCupdate.NEW_OFC = OFCupdate.OFC SET Actions terminées.NEW_OFC = OFCupdate.NEW_OFC; Cela me donne une erreur JOIN pas pris en charge ... hmm ... BTW, je veux garder les valeurs OLD aussi, mais trier sur les nouveaux codes ... mais je pense que cela fonctionnera encore ... –

+0

Vous doit mettre des crochets autour des noms de champs avec des espaces. Vous devriez joindre la table principale à la table avec de nouveaux codes, ne pas joindre la table avec de nouveaux codes à lui-même, qui est ce que vous avez. Vous n'avez pas besoin de mettre à jour, si tout ce que vous voulez faire est de trier, il suffit de sélectionner les champs des deux tables: – Fionnuala

Questions connexes