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

Macros Access Discussion :

Peut-on mettre un nom de champ en variable dans un Dlookup ? MaVariable = Dlookup( [AC-2003]


Sujet :

Macros Access

  1. #1
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut Peut-on mettre un nom de champ en variable dans un Dlookup ? MaVariable = Dlookup(
    Bonjour à tous. Peux t'on passer un nom de champs en variable dans un Dlookup ? Si oui, je ne trouve pas la syntaxe. Mes champs se nomme J1, J2, J3 etc... jusqu'à J90.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    MonNuméro = 1
     
    MaVariable = "J"
    MaVariable = MaVariable + "" & MonNuméro & ""
     
     
    [MaVariable] = Dlookup("DATE_JOUR","T_DATE_JOUR","NO_JOUR = " & MonNuméro & "")
    Voilà, j'aimerais que cela corresponde à (avec un Do Loop):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    J1 = Dlookup("DATE_JOUR","T_DATE_JOUR","NO_JOUR = "1")
    J2 = Dlookup("DATE_JOUR","T_DATE_JOUR","NO_JOUR = "2")
    J3 = Dlookup("DATE_JOUR","T_DATE_JOUR","NO_JOUR = "3")
     
    etc......................
    Merci de votre aide et bonne journée à tout le monde.

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    Salut
    A tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub looping()
    Dim MaVariable As String
    Dim MonNuméro As Integer
     
    MaVariable = "J"
    MonNuméro = 1
     
    Do While MonNuméro <= 31
        MaVariable = MaVariable & MonNuméro
        MaVariable = DLookup("DATE_JOUR", "T_DATE_JOUR", "NO_JOUR = " & MonNuméro)
        MonNuméro = MonNuméro + 1
    Loop
     
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Merci beaucoup de votre aide. Je teste dans 5 minutes.
    Jusqu'à présent, ma variable prenait la valeur du Dlookup puis qu'on lui dit MaVariable =Dlookup.
    J'essaie et vous tiens informé.

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    re
    Mais vous cherchez à faire quoi exactement avec votre boucle ou DLookup() ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Voilà, j'ai testé. La procédure ne renvoie pas d'erreur, en revanche, mes champs n'affichent rien.Quand j’exécute la procédure en pas à pas, ma variable me renvoie
    MaVariable = "J1"

    [img]
    Nom : Capture d’écran (1).png
Affichages : 56
Taille : 163,7 Ko
    [/img]

    Je me retrouve avec :

    "J1" = Dlookup

    Le problème semble être les doubles cotes "".

    Il faudrait obtenir :

    J1 = Dlookup

    Merci de votre aide.

  6. #6
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    re
    Mais vous cherchez à faire quoi exactement avec votre boucle ou DLookup() ?

    Je cherche à afficher au dessus de la première colonne dans mon formulaire (qui est un planning de réservation) le 25 du mois de juin, la deuxième le 26, la troisième le 27 etc....
    comme ici :
    [img]
    Nom : Extrait_Planning.jpg
Affichages : 67
Taille : 91,3 Ko
    [/img]

    Sur ce PC je le fait avec une autre méthode : MaPremièreDate = MaPremièreDate
    J1 = MaPremièreDate
    MaPremièreDate = MaPremièreDate +1
    J2 = MaPremièreDate
    et ainsi de suite....
    Ce PC à un processeur i3 3.6 Ghz
    Sur un second PC, le processeur i3 1.6 Ghz est trop faible et plante régulièrement avant d'afficher le formulaire. Je cherche donc une méthode moins lourde sur ouverture du formulaire.

  7. #7
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    octobre 2007
    Messages
    4 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 190
    Points : 6 454
    Points
    6 454
    Par défaut
    re
    Si vos objets sont nommés J1 à J31, un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 To 31
        Forms!nomdufrm!("J" & i) = i ' si objet est textbox
        Forms!nomdufrm!("J" & i).Caption = i ' si objet est étiquette
    Next i
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  8. #8
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Merci beaucoup.
    Je ne comprend pas trop quoi faire de cela mais je vais faire des tests.
    Mes champs sont des objets Textbox indépendants.
    Je ne cherche pas à nommer mes champs mais à leur donner une valeur sur ouverture du formulaire.
    Merci encore.

  9. #9
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Merci énormément pour votre aide.
    La dernière solution fonctionne très bien.
    A bientôt et très bonne soirée à tout le monde.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre un nom de table en variable dans requete access
    Par david69680 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/05/2022, 17h15
  2. [Lazarus] DBLookUpComboBox : mettre plusieurs noms de champs dans le ListField
    Par JP.NUAGE dans le forum Lazarus
    Réponses: 2
    Dernier message: 17/03/2013, 09h46
  3. [MySQL] Mettre le nom des champs d'une table dans un tableau
    Par beegees dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/10/2008, 15h43
  4. Réponses: 3
    Dernier message: 13/04/2007, 11h02
  5. Réponses: 1
    Dernier message: 04/04/2007, 11h03

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