Champ=Somme(Champ1,Champ2) sous Access2007 [Résolu]

Signaler
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
-
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
-
Bonsoir!!
je suis sous access 2007 et j'ai 3 champs:Montant1,Montant2,DifMontant.
je voudrais que le champs DifMontant soit la différence de Montant1 et Montant2
Ex:Montant1=5 et Montant2=3 et je voudrais qu'automatiquement la valeur de DifMontant soit égale 2 c.à.d 5-3=2.

je ne suis pas sous vba
,je parle bien des champs lors de la création de mes tables...

je sais que c'est pas de la programmation mais cela me sera utile pour ma petite application.

Merci d'avance!!

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0

2 réponses

Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
6
Salut,

Je n'ai pas de quoi tester sous la main. Par contre, j'ai peut être une piste concernant l'erreur que tu as.

Essais en utilisant un alias dans ta requête car j'ai peur qu'Access ne sache pas accéder au résultat de sum(Montant). Ta requête serait donc :

req = "select sum(Montant) AS Montant from commande"


Concernant ta premiere question qui n'est pas tres claire (à mon goût), j'opterais pour faire ton opération directement par requête SQL. Mais tout dépend du contexte.

Exemple :

SELECT 5 AS Montant1, 3 AS Montant2, (5-3) AS DifMontant

N'ayant ni le nom de la table, ni la méthode de calcul des montants (via fonction, via SQL, résultat requete), ni le nom des champs contenant les montants (dans le cas où les montant sont stockés en base), je ne peux que te donner une réponse générique.

++

Zlub
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
1
Re bonsoir!!
je ne cesse de trouver de l'aide par moi-même mais là je bloque un tout petit peu
voici mon code:
Dim req As String
req = "select sum(Montant) from commande"
Set rs1 = New ADODB.Recordset
Set con = New ADODB.Connection

Set com = New ADODB.Command
db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Info_gestion.mdb;Persist Security Info=False"
With con
.Open db 
Set com.ActiveConnection = con
com.CommandText = req
rs1 = com.Execute(, , adCmdText)
Text1.Text = rs1!Montant
.Close
End With


je souhaite récupérer la somme des enregistrements du champs Montant mais avec ce code ci-haut j'ai constamment l'erreur:
Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé


je sais que le problème provient de la fonction "sum" dans ma requête et de la ligne:Text1.Text=rs1!Montant,qui sont en conflit,mais comment faire pour palier à ça?

Merci d'avance!!!
j'espère,cette fois ci,avoir une réponse,svp!!

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0