IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Renvoyer La valeur d'un champ calculé d'une requete dans un champ donné d'une table [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Renvoyer La valeur d'un champ calculé d'une requete dans un champ donné d'une table
    Bonjour a tous !

    Je suis relativement nouveau sur Access, et j'ai un petit probleme qui, je suis sur vous paraitra evident ce qui n'est pas forcément mon cas

    J'ai créer une requete ou se trouve un champs calculé.
    Le probleme est que j'aimerai que la valeur de ce champs calculé soit renvoyé dans un champs precis d'une table donnée. Ou que le champs de la table aille chercher la valeur du champs calculé dans la requete.

    Quelqu'un saurait-il comment faire?

    Merci a vous !

    Cordialement

    TH

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Peux-tu nous montrer ta requête STP ?
    Soit en code SQL ou un PrintScreen.

    Cordialement

  3. #3
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Salut !!

    Oui biensur: je te met du coup les deux

    Voici donc le SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Opportunities.Opportunity, Opportunities.MarketCap, Opportunities.Currency, TBLCurrency.CurrencyToDollar, ConvertirEnNombre([Opportunities].[MarketCap])
    AS ConvertedMarketCap, [CurrencyToDollar]*[ConvertedMarketCap] 
    AS USDMC, ConvertirEnTexte([CurrencyToDollar]*ConvertirEnNombre([Opportunities].[MarketCap])) 
    AS USDMarketCap
    FROM Opportunities INNER JOIN TBLCurrency ON Opportunities.Currency = TBLCurrency.Currency;
    Et voici le PrintScreen:
    Nom : QueryPrintScreen.PNG
Affichages : 1257
Taille : 44,4 Ko

    Le Champs que j'aimerai renvoyer dans le champs [MarketCapUSD] de la table [Opportunities] est le champs calculé [USDMC] de la requete.

    Dis moi si tu as besoin d'autres Infos !

    Cordialement

    TH

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Merci pour toutes ces infos...

    Juste encore une question à propos de:
    Le Champs que j'aimerai renvoyer dans le champs [MarketCapUSD] de la table [Opportunities] est le champs calculé [USDMC] de la requete.
    C'est depuis un formulaire que tu souhaites remplir ce champ ou...
    Mettre ta table à jour via une requête "mise à jour" ?

    Cordialement.

  5. #5
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Citation Envoyé par bernardmichel Voir le message
    Hello !

    Merci pour toutes ces infos...

    Juste encore une question à propos de:

    C'est depuis un formulaire que tu souhaites remplir ce champ ou...
    Mettre ta table à jour via une requête "mise à jour" ?

    Cordialement.
    Je suis pas bien sur de la question, mais disons que le resultat/Valeur du champs [USDMC] doit etre transferé depuis la requete a la table [Opportunities] car en fait il s'agit simplement de la conversion en US Dollar de la market cap (qui se trouve dans le champs [MarketCap] de la table [Opportunities] que je vais chercher sur le net via un code VBA.

    Je ne sais pas si c'est bien clair, mais si ce n'est pas le cas m'hesite pas je ferai ce que je peux pour reformuler

    Cordialement

    TH

  6. #6
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Alors... peut-être à moi de reformuler .-)

    Les données que tu as sont stockées dans des tables
    Opportunities & TBLCurrency
    Pour que ces données soient dans ta table, du peux, soit les importer (1), soit les saisir(2), généralement dans un formulaire.

    1. Dans le premier de ces deux cas (importation), il s'agirait donc de mettre à jour
      le champs [MarketCapUSD] de la table [Opportunities]
      pour chaque ligne de ta table
    2. Dans le second cas, ce serait suite à la saisie dans le champ (bien sûr la valeur du champ) qui te sert d'élément de base pour ton calcul. Donc, le calcul pourrait se faire simplement à la sortie (UpDate) de ton champ.


    Donc ma question est: Quel est donc le cas qui correspond à ton besoin ?

    J'espère avoir été plus explicite...

    A+

  7. #7
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Re-bonjour,
    Merci pour la reformulation pour novice haha du coup le cas qui m'interesse est le cas numero 1 !

    Et merci pour ton aide

    Cordialement

    TH

  8. #8
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut


    Alors, dans ce cas, je te proposerais de passer par un Recordset, où tu passes chaque ligne de ta table en revue et en attribuant la valeur à ton champs [USDMC], calculée sur [MarketCapUSD], certainement à l'aide d'une variable (fixe durant le traitement).
    A mon avis, c'est plus simple de le faire comme ça.

    Cordialement.

    Bernard

  9. #9
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Citation Envoyé par bernardmichel Voir le message


    Alors, dans ce cas, je te proposerais de passer par un Recordset, où tu passes chaque ligne de ta table en revue et en attribuant la valeur à ton champs [USDMC], calculée sur [MarketCapUSD], certainement à l'aide d'une variable (fixe durant le traitement).
    A mon avis, c'est plus simple de le faire comme ça.

    Cordialement.

    Bernard
    Bonjour,
    Je suis desolé mais je suis nouveau sur Access et VBA, du coup pourrait tu s'il le plait détaillé le plus précisement possible la marche a suivre ?
    En tout cas merci pour ton aide et tes conseils

    Cordialement

    TH

  10. #10
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonjour,

    Alors voilà un exemple pour mettre à jour ta table. Tu verras qu'avec les variables proposées, tu peux mettre à jour la table que tu veux et les champs que tu veux
    J'ai également ajouté comment appeler cette fonction depuis - par exemple - un bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Option Compare Database
    Option Explicit
     
    ' *****************************
    ' * A recopier dans un module *
    ' *****************************
     
    Public Function MajTable(Table As String)
    Dim rst     As DAO.Recordset
     
        Set rst = CurrentDb.OpenRecordset(Table)        ' Ouverture d'une "copie" de ta table en mémoire
            With rst                                        ' En prenant en compte le Recordset...
                .MoveLast                                       ' ... déplaces-toi sur le dernier enregistrement...
                .MoveFirst                                      ' ... puis revient au premier pour compter le nb de lignes
                While Not .EOF                                  ' Tant que tu n'as pas atteint la fin des enregistrements...
                    If Not EstVide(!ChampAModifier) Then            ' ... si la valeur du champ est autre que Null, 0, etc
                        .Edit                                           ' ... alors on ouvre la ligne
                            !ChampAModifier = MonCalcul                     ' ... puis on modifie la valeur du champ selon calcul (ou autres)
                            ' Tu peux insérer ici le nombre
                            ' de champs que tu veux
                            '(de 1 jusqu'au nb total des
                            ' champs contenus dans ta table
                            '(Attention à l'orthographe).
                        .Update                             ' Mets à jour la valeur de mon champ
                    End If
                    .MoveNext                               ' Déplaces-toi à la ligne suivante
                Wend                                        ' Retour à "While" si la fin du Recordset (rst)  n'est pas atteinte
            End With                                        ' ... fin de la prise en compte du Recordset
     
        ' Puis, si tu lances cette fonction depuis un formulaire:
        Forms!MonFormulaire.Recalc                          ' Mise à jour de ton formulaire
     
    End Sub
     
    Public Function EstVide(Chaîne)
        EstVide = False
        If IsNull(Chaîne) Then
           EstVide = True
        Else
            If IsEmpty(Chaîne) Then
                EstVide = True
            Else
                If Chaîne = "" Then
                    EstVide = True
                Else
                    If Len(Trim(Chaîne)) = 0 Then
                       EstVide = True
                    End If
                End If
            End If
        End If
    End Function
     
    ' **********************************
    ' * A recopier dans ton formulaire *
    ' **********************************
     
    Private Sub MonBouton_OnClick()
        Call MajTable("NomDeMaTable")
    End Sub
    J'espère qu'avec ces éléments, tu pourras solutionner la difficulté rencontrée.

    Cordialement.

  11. #11
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Bonjour,

    Je voulais te remercier pour tes explications et le temps que tu as pris pour les faire c'est vraiment top de ta part
    Ensuite j'ai un petit probleme je ne suis sur dans la fonction publique MajTable de comment appeler mon calcul.. voici le code pour mémoire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Public Function MajTable(Table As String)
    Dim rst     As DAO.Recordset
     
        Set rst = CurrentDb.OpenRecordset(Table)
            With rst
                .MoveLast
                .MoveFirst
                While Not .EOF
                    If Not EstVide(!MarketCapUSD) Then
                        .Edit
                            !MarketCapUSD = [USDMarketCap]                       
                        .Update
                    End If
                    .MoveNext
                Wend
            End With
     
        Forms!Opportunities.Recalc
     
    End Sub
    Du coup quand je click sur mon bouton dans mon formulaire j'ai une fenetre VBA qui apparait:
    Nom : VBA ERROR.PNG
Affichages : 1124
Taille : 8,8 Ko

    J'ai essayé plusieurs solution mais il faut rappeler que le champs calculer que j'essaie de renvoyer dans la table et calculé a partir d'un autre champs calculé qui est lui aussi basé sur un champs calculé.. je ne sais pas trop si cela change quelque chose..

    En tout cas encore merci pour ton aide

    Bien cordialement

    TH

  12. #12
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    De rien :-)

    J'ai fait une bourde car j'ai nommé ma variable "Table" alors que c'est un nom réservé par Access.

    Donc, tout d'abord il faut modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function MajTable(Tbl As String) 
    Dim rst     As DAO.Recordset       
    Set rst = CurrentDb.OpenRecordset(Tbl)
    Ensuite, pour appeler la fonction: Call MajTable(NomDeLaTable)

    Voilà, cela devrait fonctionner (je n'ai pas testé...)

    Amicalement.

  13. #13
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par bernardmichel Voir le message
    Ensuite, pour appeler la fonction: Call MajTable(NomDeLaTable)

    Voilà, cela devrait fonctionner (je n'ai pas testé...)

    Amicalement.
    En fait je parlais de comment appelé le champs calculé au sein meme de la fonction je t'ai joint un image: Nom : VBA ERROR.PNG
Affichages : 1167
Taille : 38,5 Ko

    Merci !!

    Bien Cordialement

    TH

  14. #14
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Du coup j'essaie de voir et je me demande si il manquerai pas un "!" devant [MonCalcul] ?

    En tout cas quand je fais ca le VBA ne beug mais mais par contre il n'y a pas de valeur dans le champs de ma table ...

    Saurais-tu ce que je dois faire ?

    Bien cordialement

    TH

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut Complément sur une bonne idée de BernardMichel
    Bonjour à tous,

    Dans le code de BernardMichel , il faudrait ouvrir un 2ème recordset ayant comme source la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Function MajTable(Table As String,Requete As String)
    Dim rst     As DAO.Recordset
    Dim rst2     As DAO.Recordset
     
        Set rst = CurrentDb.OpenRecordset(Table)
        Set rst2 = CurrentDb.OpenRecordset(Requete)
     
    With rst
                .MoveLast
                .MoveFirst
                While Not .EOF
                    If Not EstVide(!MarketCapUSD) Then
                        .Edit
                            !MarketCapUSD = rst2![USDMarketCap]                       
                        .Update
                    End If
     
     .MoveNext: rst2.MoveNext
                Wend
            End With
     
        Forms!Opportunities.Recalc
     
    End Sub
    Cdlt,

  16. #16
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    En fait, il faut remplacer ce que tu as entouré en rouge par le calcul qui te donne le résultat à atribuer à "USDMarketCap" et, bien sûr, ne pas l'entourer de crochets sinon Access prendrait cela pour un champ quelconque.

  17. #17
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Salut a vous ,
    J'ai appliqué vos differentes solutions, mais je ne peux les vérifier. Je m'explique.

    J'ai mis comme BernardMichel me l'avait conseillé un bouton dans un formulaire pour exécuter la fonction publique, mais malheureusement le code ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call MajTable("Opportunities")
    Une idée de comment l'utiliser via un bouton?

    Merci d'avance

    Cordialement

    TH

  18. #18
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Re bonjour,
    Du coup j'ai egalement appliqué l'ajout de recordset: ce qui me donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Compare Database
    Option Explicit
     
    Public Function MajTable(Tbl As String, Requete As String)
    Dim rst     As DAO.Recordset
    Dim rst2     As DAO.Recordset
     
        Set rst = CurrentDb.OpenRecordset(Tbl)
        Set rst2 = CurrentDb.OpenRecordset(Requete)
     
    With rst
                .MoveLast
                .MoveFirst
                While Not .EOF
                    If Not EstVide(!MarketCapUSD) Then
                        .Edit
                            !MarketCapUSD = rst2!(ConvertirEnTexte([CurrencyToDollar] * (ConvertirEnNombre([Opportunities].[MarketCap]))))
                        .Update
                    End If
     
     .MoveNext: rst2.MoveNext
                Wend
            End With
     
        Forms!Opportunities.Recalc
     
    End Function
     
    Public Function EstVide(Chaîne)
        EstVide = False
        If IsNull(Chaîne) Then
           EstVide = True
        Else
            If IsEmpty(Chaîne) Then
                EstVide = True
            Else
                If Chaîne = "" Then
                    EstVide = True
                Else
                    If Len(Trim(Chaîne)) = 0 Then
                       EstVide = True
                    End If
                End If
            End If
        End If
    End Function
    BernardMichel tu notera également que j'ai mis le calcul complet de USDMarketCap sachant qu'il comporte en vérité 2 autres champs calculés.

    J'ai mis sur mon bouton dans un de mes formulaires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Call Module3.MajTable("Opportunities", "MarketCapCurrencyQuery")
    avec l'ajour de "MarketCapCurrencyQuery" a cause du deuxieme recordset et comme cela lors du click sur mon bouton pas de beug détécté.

    Cependant au moment de l'exécution Access me dis que la variable n'est pas définie sur le champs calculé dans le module: Nom : Capture.PNG
Affichages : 1080
Taille : 18,7 Ko



    Je ne trouve pas ce qui cloche, j'essai de l'ecrire dans tout les sens mais sans succes et je dois finir d'ici Jeudi la base

    Merci pour votre aide !

    Cordialement

    TH
    Images attachées Images attachées  

  19. #19
    Membre du Club
    Homme Profil pro
    Process Improvment
    Inscrit en
    Mai 2015
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Process Improvment
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2015
    Messages : 89
    Points : 53
    Points
    53
    Par défaut Re
    Re-Bonjour,
    Apres de multiples essaies, j'ai réussi a faire en sorte que le code ne beug nul part a l'exécution mais le probleme c'est que le champs de ma table n'est pas rempli pour autant

    Le code des fonctions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Compare Database
    Option Explicit
     
    Public Function MajTable(Tbl As String, Requete As String)
    Dim rst     As DAO.Recordset
    Dim rst2     As DAO.Recordset
     
        Set rst = CurrentDb.OpenRecordset(Tbl)
        Set rst2 = CurrentDb.OpenRecordset(Requete)
     
    With rst
                .MoveLast
                .MoveFirst
                While Not .EOF
                    If Not EstVide(!MarketCapUSD) Then
                        .Edit
                            !MarketCapUSD = rst2!USDMarketCap
                        .Update
                    End If
     
     .MoveNext: rst2.MoveNext
                Wend
            End With
     
        Forms!Opportunities.Recalc
     
    End Function
     
    Public Function EstVide(Chaîne)
        EstVide = False
        If IsNull(Chaîne) Then
           EstVide = True
        Else
            If IsEmpty(Chaîne) Then
                EstVide = True
            Else
                If Chaîne = "" Then
                    EstVide = True
                Else
                    If Len(Trim(Chaîne)) = 0 Then
                       EstVide = True
                    End If
                End If
            End If
        End If
    End Function
    Et le "code" sur mon bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Module3.MajTable("Opportunities", "MarketCapCurrencyQuery")
    Pourquoi le champs de ma table n'est pas mis a jour ?

    Pardonnez moi pour les multiples messages mais je souhaites simplement vous tenir au courrant de mon avancée

  20. #20
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    essayez sans le module3.
    et sans le estvide...
    Cdlt,

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] inserer une requete dans un champs
    Par kaking dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/10/2008, 14h45
  2. Réponses: 16
    Dernier message: 27/10/2006, 16h12
  3. [PB 10] Affichage d'une image dans un champ calculé
    Par kheops92 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 07/07/2006, 11h51
  4. placer une résultat d'une requete dans un champs
    Par valaidnew dans le forum Access
    Réponses: 5
    Dernier message: 03/03/2006, 10h34
  5. insérer resultat d'une requete dans un champs access
    Par valaidnew dans le forum Access
    Réponses: 2
    Dernier message: 02/03/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo