NSUADI
Messages postés540Date d'inscriptionmardi 4 août 2009StatutMembreDernière intervention 1 février 2013
-
27 sept. 2010 à 23:14
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 2010
-
28 sept. 2010 à 21:58
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...
Zlub
Messages postés809Date d'inscriptionmercredi 11 octobre 2000StatutMembreDernière intervention29 septembre 20108 28 sept. 2010 à 21:58
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.
NSUADI
Messages postés540Date d'inscriptionmardi 4 août 2009StatutMembreDernière intervention 1 février 20132 28 sept. 2010 à 02:15
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...