We will be migrating from Ask to Discourse on the first week of August, read the details here

Poser votre question
0

[Résolu]-Couleur conditionnelle champ base

posée 2020-05-07 19:13:41 +0200

Image Gravatar de El Catala

updated 2020-05-09 19:57:13 +0200

Bonsoir, Suite à une fausse manœuvre, je dois recréer cette discussion. Merci Pierre-Yves, effectivement je tente d' afficher un résultat de requête dans une colonne. Afin de procéder à un test, j'ai crée une nouvelle base avec des champs formatés mais le résultat est toujours le même.

Sub Calcul()

Dim Cnx As Object, Stmt As Object, Frml As Object, FrmlActif As Object
Dim SousFrmlActif As Object, CtrlDte As Object, CtrlTst As Object
Dim RsltAch As Object, CtrlAch As Object
Dim Dte As String, RqtAch As String
Dim CfTst As Integer, VlrAch As Integer
Dim MntOpr As Double
'--- Connection base ----
Cnx = ThisDatabasedocument.CurrentController.ActiveConnection
Stmt = Cnx.createStatement()
Frml = ThisComponent.DrawPage.Forms
FrmlActif = Frml.getByName("FTest")
SousFrmlActif = FrmlActif.getByName("FTest_Grid")
'--- Récupération de la date d' un mouvement au format SQL ---
CtrlDte = SousfrmlActif.getByName("Date")
Dte = Format(CDateFromUnoDate(CtrlDte.Date), "YYYY-MM-DD")
'--- Récupération de la clé du mouvement ---
CtrlTst = SousFrmlActif.getByName("Cf_Test")
CfTst = CtrlTst.CurrentValue
'--- Totalisation de l' opération ---
RqtAch = "SELECT Quts*Tarif FROM T_Test WHERE Cf_Test = '"& CfTst &"'"
RsltAch = Stmt.ExecuteQuery(RqtAch)
RsltAch.Next
MntOpr = RsltAch.getDouble(1)
'--- Affichage des données dans le formulaire ---
CtrlAch = SousFrmlActif.getByName("Achat")
VlrAch = CtrlAch.CurrentValue
If VlrAch = 1 then
    With SousFrmlActif.getByName("MntAchat")
        .TextColor = RGB(255,0,0)
        .Value = MntOpr
        .Commit 
    End With
    With SousFrmlActif.getByName("MntVente")
        .TextColor = RGB(0,128,64)
        .Value = 0
        .Commit 
    End With
    Else 
        With SousFrmlActif.getByName("MntAchat")
            .TextColor = RGB(255,0,0)
            .Value = 0
            .Commit 
        End With
        With SousFrmlActif.getByName("MntVente")
            .TextColor = RGB(0,128,64)
            .Value = MntOpr
            .Commit 
    End With
End If

End Sub

Par contre, je ne sais pas joindre un fichier. Cordialement

éditer requalifier signaler fermer fusionner supprimer

2Réponses

0

répondue 2020-05-09 19:56:30 +0200

Image Gravatar de El Catala

Bonsoir, Effectivement, cela fonctionne avec des champs formatés. Par contre, après avoir supprimé dans ma macro la commande TextColor, j' ai le même message d' erreur sur la commande .Value Je me suis donc tourné vers une requête UPDATE pour mettre à jour les trois champs calculés. Malgré tout, je considère le problème comme résolu. Cordialement

éditer signaler supprimer permalien plus
0

répondue 2020-05-08 08:45:47 +0200

Image Gravatar de pierre-yves samyn

Bonjour @El Catala

J'ai déjà répondu que la propriété n'est pas disponible pour un champ dans un contrôle grille. Elle ne l'est que pour le contrôle grille lui-même (toute la grille).

Je me répète : un contournement est d'utiliser un champ formaté pour lequel, comme son nom l'indique, on peut gérer un format personnalisé.

Cordialement

éditer signaler supprimer permalien plus
S'identifier/S'inscrire pour répondre

Outils de question

1 suiveurs

Stats

Posée: 2020-05-07 19:13:41 +0200

Consultée: 56 fois

Mise à jour: May 09 '20