2010-09-20 8 views
1

J'ai une table appelée: Transaction. Cette table contient les champs suivants: (ID, ProductName, Amount, Date) placés dans une feuille Excel qui est connectée à la base de données MS Access. ID est le seul champ unique. Parfois, mon utilisateur soumet une transaction qui a disons 5 enregistrements. Ensuite, ils veulent modifier les données soumises dans le cas où ils ont entré un montant incorrect et qu'ils veulent le corriger. Je veux écrire un code dans VBA qui fera la mise à jour. ma requête en cours est:Mise à jour d'une table Access and Excel VBA

Update table Transaction(ProductName,Amount) set [email protected],[email protected]) 
where [email protected]; 

Cette requête ne fonctionne pas bien parce que de toute évidence, il remplace toutes les données enregistre avec les données du dernier enregistrement présentée à nouveau parce que ma condition est faible. Ma difficulté est que je ne peux pas trouver une bonne condition dans la clause where qui fera la mise à jour d'un enregistrement par enregistrement en conséquence. S'il vous plaît, aide,

+0

Vous devrez accéder au champ ID unique et l'utiliser dans votre clause where pour les mises à jour. – Doug

+0

L'ID est-il différent pour chaque enregistrement? Pourriez-vous ajouter un critère where qui répertorie tous les ID? –

+0

oui, l'identifiant est un identifiant (numéro automatique). – guest1

Répondre

1

Vous devrez utiliser l'identifiant unique de l'enregistrement, dans votre cas le champ ID pour garantir que vous mettez à jour le bon enregistrement.

Quelque chose comme ce qui suit:

Update table Transaction(ProductName,Amount) set [email protected],[email protected]) where ID = "id of record you want to update" 

Enjoy!

Questions connexes