2008-10-23 15 views
1

J'ai commencé à créer une base de données et j'ai un 'article commandé' et un tableau 'facture'. Je voudrais savoir comment j'ajouterais les prix des articles que le client choisit. De même, où abouts vous mettez cette "règle" sur la base de données.Additionner les prix des articles pour obtenir le total

+0

Certains détails supplémentaires iraient un long chemin. Où avez-vous besoin de résumer cela? Comment envisagez-vous d'afficher cette somme? Stockez-vous la valeur additionnée quelque part? – Brettski

Répondre

5

Vous voulez la fonction SQL "Sum()". Regardez, par exemple, here.

0

Fondamentalement, vous feriez une requête et remplissez la table de facture avec les résultats de cette requête. Comme l'a dit Coderer, utilisez une fonction sum(). Si vous utilisez l'éditeur de requête graphique, vous devez activer les totaux (Affichage-> Totaux), puis définir le type total sur "Sum" au lieu de "Group By" par défaut.

0

Si vous utilisez MS Access la fonction SUM est utilisée comme partie d'un rapport pour l'un des champs affichés.

1

Je dois faire beaucoup de suppositions (le plus grand étant que vous utilisez MS SQL) parce que votre poste manque de détails, mais il prend mal. Si cette configuration n'est pas proche, veuillez créer une table et créer des exemples de données pour que nous puissions travailler avec. Cela nous aidera beaucoup.

declare @Item table (ItemId int, ItemDesc varchar(50), Price money) 
declare @Invoice table (InvoiceId int, CustomerName varchar(50), ShipDate datetime) 
declare @OrderedItem table (InvoiceId int, ItemId int, Quantity int) 


insert into @Item 
    select 1, 'Hat', '10.99' union 
    select 2, 'Shirt', '12.50' union 
    select 3, 'Belt', '5.99' 

insert into @Invoice 
    select 1, 'Nathan', '01-01-2009' 

insert into @OrderedItem 
    select 1, 1, 2 union -- 2 hats 
    select 1, 2, 3   -- 3 shirts 


select i.InvoiceId, 
     sum(Quantity) [TotalItems], 
     sum(Price * Quantity) [TotalPrice] 
from @Invoice i 
inner 
join @OrderedItem oi on 
     i.InvoiceId = oi.InvoiceId 
inner 
join @Item it on 
     oi.ItemId = it.ItemId 
group 
by  i.InvoiceId 
+0

Je ne crois vraiment pas que cela fonctionnera dans une base de données Access – Brettski

0

SQL mais la langue a une structure de données étant la table. Par conséquent, vous pouvez placer les éléments que l'utilisateur a sélectionnés dans une table, puis JOIN depuis cette table vers la table contenant le prix, puis utiliser la fonction set SUM() pour obtenir le prix total. On dirait que vous n'êtes pas trop familier avec le langage SQL et si vous utilisez MS Access, alors il a des assistants pour vous aider: il appelle ce type de construction une 'requête de totaux'.

1

Vous trouverez beaucoup d'exemples utiles dans la base de données exemple Northwind fournie avec chaque version d'Access, il peut également s'agir de downloaded from here. Je pense que vous trouverez le formulaire de commande, le formulaire d'analyse des ventes et le rapport de facturation d'intérêt particulier.