Opérations sur champs Requete ACCESS
Je bosse sur Access 2007 et j'ai quelques soucis concernant les opérations entre champs d'une
meme requete:
j'aimerais faire la multiplication de 2 champs et mettre le résultat dans 1 3eme champ:
j'ai crée dans ma requete ce 3eme champ (appelé "Cout théorique") et j'ai mis :
Cout théorique:[CompteDeTotal]*[Cout national par GAR] pour avoir le cout en garantie qu"'une
concession aurait du avoir selon son volume de garanties passées. (le premier champs représente le nb de garantie passées par la concessionle tandis que le deuxième représente le prix moyen d'une prise sous garantie)
mais quand je rentre ca, il apparait 2 boites de dialogue successivement:
Entrer une valeur de parmètre:
[CompteDeTotal]
Puis aprés la meme chose avec:
[Cout national par GAR]
je valide les 2 fois sans rien mettre et il m'aparait dans ce nveau champs que des ## mais en cliquant dessus il y a derrière les bons résultats!!
je ne comprends pas ce qui se passe, pourriez vous m'aider svp ?!!!! je suis perdu!!
MERCI par avance..............
Configuration: Windows XP Internet Explorer 6.0
97 réponses
Dans Access 2007, la multiplication entre deux champs d'une même requête pour alimenter un champ calculé (Cout théorique) déclenche des invites de paramètres pour [CompteDeTotal] et [Cout national par GAR]. Plusieurs pistes indiquent d'éviter les paramètres en passant par du SQL et en utilisant une clause GROUP BY appropriée, ou de calculer Cout théorique via DAvg et Count puis arrondir le résultat. La solution pratique est présentée sous forme de requête SQL avec les champs Concession, SommeDeTotal, CoutNat et Coutthéorique, puis d'adapter les noms et le regroupement pour éviter les erreurs d'agrégat.
-
je suis OP gaetan c'est qd tu veux!
-
hello!
je suis la si t'es ok! -
gaetan t toujours la?!
Si tu n'y est pas on se voit demain mation sur meebo ok?
merci! -
C'est bon j'y suis
-
Salut gaetan comment va?!
J'aurais une chtite question, pas de programmation tkt, serais tu dispo sur meebo aprés manger?!
Merci et a tte!! -
des moi je vais etre indispo environ 30min a 1h je te tiens au courant qd je peux!!
a tte ;-) -
gaetan concernant les macros excel j'ai une question! (pas de prog tkt pas juste un petit truc sur le stockage..)
Je sss sur meebo donc dispo qd tu veux! -
ok j'arrive dsl j 'été en train de faire autre chose!
-
Yep gaetan hello!
i've got 2 questions for you: easy but i'ven't the solution! -
Yeah gaetan juste un truc en plus pour ne pas que tu t'embets trop:
j'aimerais qu'au bout de 3 tentaives la bdd se ferme avec un mess d'erreur préventif:
i = i + 1
End If
'Dépassement du nombre d'essais autorisés 3
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de tentatives autorisés...Réessayez plus tard ! ", vbCritical
DoCmd.Quit
End If
End Sub
avec un truc comme ca on peut faire ou non?! -
perso je suis prêt ...
-
Salut, pas de souci pour tout à l'heure!
Pour ton post je viens d'y jeter un oeil par hasard! mais a vrai dire je ne peux t'être d'une grande aide, car je ne maitrise pas trop les graphs sous Excel (trés peu utilisé!)
Désolé de pas pouvoir t'aider aprés tout ce que t'as fais pour moi ^^
@ tte, bon ap' ! -
Salut gaetan !
D'attaque pour que le mot de passe apparaisse en *** en nom en directement visibel ?!
Tiens au courant quand t'es ok !!-
Ouaip, on voit ça à 14h comme hier?
Au passage, si tu peux m'aider ici ^^
http://www.commentcamarche.net/forum/affich 8001906 vba excel mise en forme graphique
-
-
Sub Transforme_TABLE_de_Base_extraite_SAP_OUTILS_GARANTIE()
Dim i As Integer
Dim DerniereColonne As Integer
DerniereColonne = Range("BZ2").End(xlToLeft).Column
For i = 1 To DerniereColonne
Cells(2, i).Select
If ActiveCell.Value = "" Then
Columns(i).Select
DerniereColonneEnCours = Range("BZ2").End(xlToLeft).Column
If i >= DerniereColonneEnCours Then Exit Sub
Selection.Delete Shift:=xlToLeft
i = i - 1
End If
Next i
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Columns("F:G").Select
Selection.Delete Shift:=xlToLeft
Columns("O:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("S:W").Select
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Columns("B:B").Select
Selection.Replace What:="C", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "Conession"
Range("B2").Select
ActiveCell.FormulaR1C1 = "Concession"
Columns("B:B").Select
Selection.NumberFormat = "@"
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
Columns("P:R").Select
Selection.NumberFormat = "#,##0.00"
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Rows("2:2").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub-
Sub Transforme_TABLE_de_Base_extraite_SAP_OUTILS_GARANTIE()
Dim i As Integer
Dim DerniereColonne As Integer
DerniereColonne = Range("BZ2").End(xlToLeft).Column
For i = 1 To DerniereColonne
Cells(2, i).Select
If ActiveCell.Value = "" Then
Columns(i).Select
DerniereColonneEnCours = Range("BZ2").End(xlToLeft).Column
If i >= DerniereColonneEnCours Then
Goto Suite:
End If
Selection.Delete Shift:=xlToLeft
i = i - 1
End If
Next i
Suite :
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Columns("F:G").Select
Selection.Delete Shift:=xlToLeft
Columns("O:Q").Select
Selection.Delete Shift:=xlToLeft
Columns("S:W").Select
Selection.Delete Shift:=xlToLeft
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Columns("B:B").Select
Selection.Replace What:="C", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "Conession"
Range("B2").Select
ActiveCell.FormulaR1C1 = "Concession"
Columns("B:B").Select
Selection.NumberFormat = "@"
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
Columns("P:R").Select
Selection.NumberFormat = "#,##0.00"
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Rows("2:2").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
-
-
ok kool
-
t tjs la gaetan ?!
-
ok a tte, bon ap' !!
-
"Ensuite il faut se débrouiller pour que le formulaire apparaisse au démarrage. "
ca c'est pas un souci on fait un auotexec et c'est bon..
Pour " La solution serait de faire un nouveau formulaire dans lequel tu mets un TextBox"
je ne sais pas comment le faire!
Pour "pour valider et tu effectue le code quand on clique sur le bouton" tu parles du code que nous avons écrit ensemble ?( enfin qu tu as écrit lol!)
Merci mec! -
ok pour ce que tu dis...mais concretement ca veut dire quoi?
peut on changer l'inputbox en textbox simplement?!
Ou alors comment dois je faire?!
Parce que tu me parles de "form" mais je ne sais pas ce que c'est ;-) -
Salut,
Etant donné qu'on a utilisé un InputBox en VBA, on ne peut pas masquer les caractères. Il faudrait pour cela créer une Form qui s'afficherait au lancement, avec un TextBox au lieu d'un InputBox... Dans les propriétés du TextBox, ça peut se faire.
- 1
- 2
- 3
- 4
- 5