1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Process
    Inscrit en
    mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur Process
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2017
    Messages : 6
    Points : 5
    Points
    5

    Par défaut concatenat pour composer le nom d'une table

    Bonjour,

    je souhaite trouver une solution pour pouvoir concaténer le nom d'une table dont le nom est variable en fonction des inputs.

    C'est à dire : exemple

    Niv1 = DMax("Niv_mm", "T_Barémage_R1", " [Niv_mm] <= " & Fix(Niv_Eau_Initial))

    Dans cette fonction, le R1 est variable en fonction d'un choix fait au préalable sur une liste box dans un formulaire. Il peut prendre les valeurs R1, R2, R3 ou bien R4.

    Donc, le nom de la table doit être concaténer pour choisir la bonne table sachant que les tables T_Barémage_R1, T_Barémage_R2, T_Barémage_R3, T_Barémage_R4 sont identiques (Mème chams) à part les données quelles contiennent.

    Ce code va me permettre d'eviter les condtion IF et ELSE pour chaque choix.

    Ci dessous un extrait du code que j'ai réalisé et qui me retourne erreurs.



    --------------------------------------------------------------------
    Private Sub CMD_CALCULER_Click()

    Dim sngTemp As Single
    Dim sngDen15 As Single

    ' conversion de la saisie
    sngNiv_Huile_Initial = CSng(Me.Niv_Huile_Initial)


    BACX = BAC_EXP ' C'est le choix de la listbox (R1 ou R2 ou R3 ou R4)

    Niv1 = DMax("Niv_mm", " "T_Barémage_" & BACX ", " [Niv_mm] <= " & Fix(Niv_Huile_Initial))

    la base de donnée complète est en pièce jointe

    CalProd Rev.1.rar

    Merci d'avance

  2. #2
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 227
    Points : 3 794
    Points
    3 794

    Par défaut

    Bonjour,
    Pour info, évite le type Single dans les tables si les valeurs utilisées ont maximum 4 décimales, utilise plutôt le Monétaire (Currency).
    Il manquait un & avalt la double quote dans ton expression ", " [Niv_mm] , ce qui provoquait l'erreur :
    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
    Private Sub CMD_CALCULER_Click()
     
    Dim sngTemp As Single
    Dim sngDen15 As Single
    Dim strBACX as String
    ' conversion de la saisie
    sngNiv_Huile_Initial = CSng(Me.Niv_Huile_Initial)
     
    strBACX = Me.BAC_EXP ' C'est le choix de la listbox (R1 ou R2 ou R3 ou R4)
     
    Niv1 = DMax("Niv_mm", " "T_Barémage_" & strBACX & ", " [Niv_mm] <= " & Fix(Niv_Huile_Initial))
     
    ...
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Process
    Inscrit en
    mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur Process
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2017
    Messages : 6
    Points : 5
    Points
    5

    Par défaut

    tee_grandbois

    Merci pour votre réponse.

    Cependant, j'ai toujours l'erreur expected : list separtor or ) mème avec le code que vous m'avez envoyé

    Niv1 = DMax("Niv_mm", " "T_Barémage_" & strBACX & ", " [Niv_mm] <= " & Fix(Niv_Huile_Initial))

  4. #4
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 227
    Points : 3 794
    Points
    3 794

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Niv1 = DMax("Niv_mm", "T_Barémage_" & strBACX, " [Niv_mm] <= " & Fix(Niv_Huile_Initial))
    le contrôle Niv_Huile_Initial est inconnu

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Process
    Inscrit en
    mars 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur Process
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2017
    Messages : 6
    Points : 5
    Points
    5

    Par défaut

    Tee_grandbois

    Merci beaucoup :-) !!!

    Salutations

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

Discussions similaires

  1. [MySQL-5.6] Requête imbriquée retournant le nom d'une table pour FROM
    Par henrif dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/04/2015, 17h34
  2. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL-Server
    Réponses: 6
    Dernier message: 02/02/2014, 00h35
  3. [CS5.5] extension php upload pour insérer le nom d'une image dans une table
    Par barale61 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 14/02/2013, 11h48
  4. Réponses: 4
    Dernier message: 14/11/2012, 13h45
  5. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 16h50

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