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

VBA Access Discussion :

Galere avec l'ecriture du code d'un requete en VBA [AC-2019]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut Galere avec l'ecriture du code d'un requete en VBA
    bonjour,

    Je voudrais ecrire une procedure en VBA avec different cas . La difference serait les valeurs de variable que je définit pour chaque Cas mais je n'arrive pas à ecrire la requete "Update"

    je vous joins le code que j'ai ecris mais qui bug

    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
     
    Private Sub Commande29_Click()
     
    '------------------------------------------------------------
    ' Macro_Victoire_Defaite'
    '------------------------------------------------------------
        Dim Numero_Tour As Integer, Numero_Tableau As Integer, NTT As String
        Dim Point As String, Score As String, ID_Autre As String, Ceinture As String
        Dim Ligne As String
        DoCmd.OpenQuery "Requête MAJ Score dans choix poule", acViewNormal, acEdit
     
        Numero_Tour = Forms![Formulaire Resultat poule]!NumTour
        Numero_Tableau = Forms![Formulaire Resultat poule]!NumTableau
        NTT = Trim(Str(Numero_Tour)) & Trim(Str(Numero_Tableau))
       Select Case NTT
           Case "11"
               Point = "Historique_poule.Point_1T"
               Score = "Historique_poule.Score_1T"
               ID_Autre = "Historique_poule.ID_A_1T"
               Ceinture = "Historique_poule.Ceinture_A_1T"
               DoCmd.RunSQL "UPDATE Historique_poule INNER JOIN Choix_poule ON Historique_poule.[ID Nom] = Choix_poule.ID1 SET Point = IIf(Choix_poule.Score1 > Choix_poule.Score2,'V','D') , Score = Choix_poule.Score2 ,ID_Autre = Choix_poule.ID1, Ceinture = Choix_poule.Ceinture1 WHERE Historique_poule.[ID Nom]= [Forms]![F_Combat]![F_SF_Combattant2].[Form]![ID Nom];"
            Case "12"
            ' code semblable au précédent mais avec des valeurs différentes de 'Point' Score, etc
       End Select
    je pedale dans la semoule avec les " " et les ' ' ou les "' '"
    Si vous pouviez m'aider à m'y retrouver.....

    merci

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Galere avec l'ecriture du code d'un requete en VBA
    je pedale dans la semoule avec les " " et les ' ' ou les "' '"
    avant de pédaler, il faudrait expliquer un peu mieux ton besoin

    Point = "Historique_poule.Point_1T"
    Score = "Historique_poule.Score_1T"
    ID_Autre = "Historique_poule.ID_A_1T"
    Ceinture = "Historique_poule.Ceinture_A_1T"
    à quoi servent ces variables (Point, Score ...) comment souhaites-tu t'en servir par la suite et pour quelle raison tu les valorises avec des noms de champs d'une table(Historique_poule.Point_1T) ?

    Sinon pour résumé:
    " " les guillemets sont utilisés pour délimiter des textes dans VBA pour une création de requête Ajout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL =  "INSERT INTO MATABLE(CHPNUM1,CHPNUM2) VALUES(1,222);"
    ' ' les apostrophes sont utilisées pour délimiter des champs texte entre les guillemets, mais c'est également autorisé aussi pour tous les autres types de champ avec une requête INSERT utilisant VALUES:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO MATABLE(CHPNUM1,CHPNUM2,CHPTXT1) VALUES('1','222','AAA');"
    & L'esperluette ou "et commercial" sert pour la concaténation de texte et de variables, car une variable VBA ne doit pas se trouver entre des guillemets sinon cela devient du texte.
    En prenant l'exemple de la variable Point:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Point = "Historique_poule.Point_1T"
    strSQL = "SELECT Point FROM Historique_poule"
    donnera SELECT Point FROM Historique_poule avec Debug.Print strSQL car Point est entre les guillemets et est considéré comme étant dans l'environnement SQL (vu qu'on construit une requête SQL)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Point = "Historique_poule.Point_1T"
    strSQL = "SELECT " & Point & " FROM Historique_poule"
    donnera SELECT Historique_poule.Point_1T FROM Historique_poule avec Debug.Print strSQL puisque la variable Point est bien hors des guillemets et est donc visible dans VBA qui peut la traduire.

    " '" "' " guillemet apostrophe guillemet/guillemet apostrophe guillemet c'est la syntaxe pour insérer une variable contenant un valeur de type texte dans le texte d'une requête SQL. Cela implique de découper le texte d'origine pour insérer les valeurs tout en concaténant la chaine.
    Exemple, pour insérer 3 variables dont la dernière (Val3) est de type texte, on met des apostrophes avant et après la variable Val3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Val1 = 1
    Val2 = 22.2
    Val3 = "AAA"
    strSQL = "INSERT INTO MATABLE(CHPNUM1,CHPNUM2,CHPTXT1) VALUES(" & Val1 & ",'" & Val2 & "','" & Val3 & "');"
    le Debug donnera: INSERT INTO MATABLE(CHPNUM1,CHPNUM2,CHPTXT1) VALUES(1,'22.2','AAA');"
    je conseille de mettre des apostrophes à toutes les valeurs quand on utilise VALUES
    dans l'exemple précédent, Val2 contient une décimale qui va être transformée en virgule au moment de l'insertion dans la table (si le séparateur de décimales français dans les paramètres Windows est la virgule) ce qui risque de provoquer une erreur de syntaxe puisque la virgule est le délimiteur de champ dans SQL.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Merci pour ces explications qui vont être bien précieuses pour la suite.

    Maintenant je voudrais détailler mon problème :

    Au départ j'avais 8 requêtes presque identiques que je voudrais réduire à une puisque ce qui les différencie c'est le champ (Point_1T) d'une table (historique_poule) le coup d'après ce sera (Point_2T) puis (Point_3T) etc de même (Score_1T) ,( score _2T) etc .

    La requête me permettra de mettre à jour ces champs dans la table (historique_poule) avec les valeurs correspondantes de la table (Choix_poule) à savoir "V" ou "D" dans Point, Score avec (Score_1T ou Score_2T) etc selon que que l'on soit dans le tableau 1 2 ou 3 (Tableau) et dans le tour de compétition 1,2 ou 3 (Tour) d'ou l'utilisation de (Select Case)

    Je ne sais pas si j'ai été assez explicite car c'est un peu compliqué à expliquer.
    Je te joins une partie du code que j'avais avant et que je voudrais alléger

    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
        If Numero_Tour = 1 And Numero_Tableau = 1 Then
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 1° tour", acViewNormal, acEdit
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 1° tour", acViewNormal, acEdit
        End If
     
        If (Forms![Formulaire Resultat poule]!NumTour = 1 And Forms![Formulaire Resultat poule]!NumTableau = 2) Then
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 1° tour", acViewNormal, acEdit
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 1° tour", acViewNormal, acEdit
        End If
        If (Forms![Formulaire Resultat poule]!NumTour = 2 And Forms![Formulaire Resultat poule]!NumTableau = 1) Then
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 2° tour", acViewNormal, acEdit
           DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 2° tour", acViewNormal, acEdit
        End If
        If (Forms![Formulaire Resultat poule]!NumTour = 2 And Forms![Formulaire Resultat poule]!NumTableau = 2) Then
          DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 2° tour", acViewNormal, acEdit
          DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 2° tour", acViewNormal, acEdit
        End If
        If (Forms![Formulaire Resultat poule]!NumTour = 3 And Forms![Formulaire Resultat poule]!NumTableau = 1) Then
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 3° tour", acViewNormal, acEdit
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 3° tour", acViewNormal, acEdit
        End If

  4. #4
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par irimi54 Voir le message
    Je ne sais pas si j'ai été assez explicite car c'est un peu compliqué à expliquer.
    Je te joins une partie du code que j'avais avant et que je voudrais alléger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        If Numero_Tour = 1 And Numero_Tableau = 1 Then
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 1 Combat 1° tour", acViewNormal, acEdit
            DoCmd.OpenQuery "Requête MAJ Victoire defaite 2 Combat 1° tour", acViewNormal, acEdit
        End If
    Si je comprends bien, tu dois exécuter deux requêtes dont le nom dépend de l'avancement dans les tours et les tableaux. Il semble d'ailleurs que seul le numéro de tour influe dans le choix.
    Si tu attribue à une variable str le numéro de tour
    noTour = trim(cstr(Numero_Tour)) ou noTour = trim(cstr(Forms![Formulaire Resultat poule]!NumTour)).

    Tu peux construire deux variables contenant le nom de tes requêtes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rqMaj_1 = "Requête MAJ Victoire defaite 1 Combat " & noTour &"° tour" 
    rqMaj_2 = "Requête MAJ Victoire defaite 2 Combat " & noTour &"° tour"
    Tu les exécutes ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenQuery rqMaj_1, acViewNormal, acEdit
    DoCmd.OpenQuery rqMaj_2, acViewNormal, acEdit
    Mais cela impose que tu garde toutes tes requêtes telles qu'actuellement, ce que tu cherches à réduire si j'ai bien compris. Il faudrait connaître la structure et les liaisons de tes tables, et la structure de tes requêtes listées ci-dessus.

  5. #5
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    C'est bien cela , je commence à travailler dessus. J'y vois plus clair maintenant grâce à tes explications. Je reviendrais vers toi pour te donner mes resultats

    merci et au boulot pour moi

  6. #6
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Me revoila, j'ai bien bossé sur ma procedure et maintenant elle tourne bien.
    Alors j'ai enchainé sur une autre qui marche presque !!!!

    Nom : Snap 2020-05-24 at 16.14.53.jpg
Affichages : 104
Taille : 73,6 Ko

    Pourquoi cette erreur?
    Je mets dessous le code

    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
     
    Option Compare Database
     
    '---------------------------------------------------------------
    ' Mise à jour Historique_Poule lors de corrections de résultats
    '
    '---------------------------------------------------------------
    Function MAJ_Correction()
    Dim ValTexte As String
    Dim ValNum As Integer
        Numero_Tour = Forms![Formulaire Resultat poule]!NumTour
        Numero_Tableau = Forms![Formulaire Resultat poule]!NumTableau
        ValTexte = "'-'"
        ValNum = 0
        If Numero_Tableau = 1 Or Numero_Tableau = 2 Then
            Numero_Tableau = 1
        Else
            Numero_Tableau = 3
        End If
        NTT = Trim(Str(Numero_Tableau)) & Trim(Str(Numero_Tour))
     
        Select Case NTT
            Case "11"
               ID = "F_SF_Tab1_Tour1.ID_Nom"
            Case "12"
               ID = "F_SF_Tab1_Tour2.ID_Nom"
            Case "13"
               ID = "F_SF_Tab1_Tour3.ID_Nom"
            Case "14"
               ID = "F_SF_Tab1_Tour4.ID_Nom"
            Case "32"
               ID = "F_SF_Tab3_Tour2.ID_Nom"
            Case "33"
               ID = "F_SF_Tab3_Tour3.ID_Nom"
            Case "34"
               ID = "F_SF_Tab3_Tour4.ID_Nom"
        End Select
        Ligne = "UPDATE Historique_poule SET Historique_poule.Point_1T = " & ValTexte & ","
        Ligne = Ligne & "Historique_poule.Point_1TR = " & ValTexte & ", Historique_poule.Point_2T = " & ValTexte & ", Historique_poule.Point_2TR = " & ValTexte & ","
        Ligne = Ligne & "Historique_poule.Point_3T = " & ValTexte & ", Historique_poule.Point_3TR = " & ValTexte & ", Historique_poule.Point_4T = " & ValTexte & ","
        Ligne = Ligne & "Historique_poule.Point_4TR = " & ValTexte & ", Historique_poule.Score_1T = 0, Historique_poule.Score_1TR = 0, Historique_poule.Score_2T = 0,"
        Ligne = Ligne & "Historique_poule.Score_2TR = 0, Historique_poule.Score_3T = 0, Historique_poule.Score_3TR = 0, Historique_poule.Score_4T = 0, Historique_poule.Score_4TR = 0,"
        Ligne = Ligne & "Historique_poule.ID_A_1T = 0, Historique_poule.ID_A_1TR = 0, Historique_poule.ID_A_2T = 0, Historique_poule.ID_A_2TR = 0, Historique_poule.ID_A_3T = 0, "
        Ligne = Ligne & "Historique_poule.ID_A_3TR = 0, Historique_poule.ID_A_4T = 0, Historique_poule.ID_A_4TR = 0 "
        Ligne = Ligne & "WHERE " & ID & " = Historique_Poule.ID_Nom ;"
     
        DoCmd.RunSQL Ligne
     
    End Function
    Quelqu'un peux m'aider si je n'abuse pas trop de votre temps

  7. #7
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Pourquoi cette erreur?
    Je mets dessous le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            Case "11"
               ID = "F_SF_Tab1_Tour1.ID_Nom"
    .....
        Ligne = Ligne & "WHERE " & ID & " = Historique_Poule.ID_Nom ;"
    Quelqu'un peux m'aider si je n'abuse pas trop de votre temps
    Sauf mauvaise lecture de ma part, je ne crois pas que l'erreur vienne du formulaire, mais de ta requête. Elle n'interroge aucune table/requête (pas de clause "FROM")
    Tu veux mettre à jour un/plusieurs champs dans ton formulaire à partir d'autres champs du même formulaire ou écrire une requête qui met à jour une table ?

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Sauf mauvaise lecture de ma part, je ne crois pas que l'erreur vienne du formulaire, mais de ta requête. Elle n'interroge aucune table/requête (pas de clause "FROM")
    @ bcoulom: c'est une requête UPDATE (mise à jour) il n'y a donc pas besoin de clause FROM
    @irimi54:
    il ne faut pas mettre de guillemets sinon cela devient un littéral et pas une valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ID = Forms![Formulaire Resultat poule]!F_SF_Tab3_Tour4.Form.ID_Nom
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    ...
    @ bcoulom: c'est une requête UPDATE (mise à jour) il n'y a donc pas besoin de clause FROM
    ...
    Oups, toutes mes excuses !

  10. #10
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Re Bonjour,

    J'ai beau tourné le PB dans tous les sens , je ne comprends pas pourquoi il ne trouve pas le champ "ID_Nom" alors qu'il est bien present dans le formulaire.

    Quand je rentre le code proposé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ID = Forms![Formulaire Resultat poule]!F_SF_Tab1_Tour1.Form.ID_Nom
    j'ai une erreur qui me dit qu'il ne trouve pas le champ proposé

    Nom : Snap 2020-05-25 at 13.59.56.jpg
Affichages : 93
Taille : 16,1 Ko

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    j'ai une erreur qui me dit qu'il ne trouve pas le champ proposé
    F_SF_Tab1_Tour1

    dans la fenêtre propriétés du formulaire, onglet "Toutes", vérifie que le nom du sous-formulaire que tu as donné est bien la propriété Nom et pas la propriété Objet source
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Cest bien le cas, d'ailleurs le nom et l'objet source ont le meme nom

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    oui mais là, il va falloir nous aider... on ne peut pas donner de solutions si on n'a pas plus de détail, d'autant plus que la syntaxe proposée est la bonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ID = Forms![Formulaire Resultat poule]!F_SF_Tab1_Tour1.Form.ID_Nom
    d'après le message d'erreur, il pense que F_SF_Tab1_Tour1 est le nom d'un champ.

    Eventuellement remplace le point d'exclamation ! par un point . ici:[Formulaire Resultat poule]!F_SF_Tab1_Tour1 ou bien essaie cette syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ID = Forms![Formulaire Resultat poule].Controls("F_SF_Tab1_Tour1").Form.ID_Nom
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Je regarde comment vous donner plus de détails, peut etre une base de données simplifiée avec la table et les formulaires.
    Je fais ça demain car là je dois m'absenter

    Merci du temps passé sur mon sujet

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    le formulaire et le sous-formulaire devraient suffire
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Voila la petite base avec mon problème avec une image expliquant la marche à suivre pour tomber sur le pb

    Nom : Snap 2020-05-26 at 08.35.07.jpg
Affichages : 84
Taille : 72,0 Ko
    Fichiers attachés Fichiers attachés

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    merci pour la base et les explications, mais quel évènement déclenche la macro "Macro MAJ Correction" ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    La macro "Macro MAJ correction" est lancer sur l'evenement "Après MAJ sur le champ "Point_1t"

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    premier constat: ID est utilisé alors qu'il n'est pas encore chargé et il n'est chargé uniquement dans le cas "11"
    il faut déjà corriger cela:
    Nom : _0.JPG
Affichages : 78
Taille : 144,2 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  20. #20
    Membre à l'essai
    Homme Profil pro
    Médecin
    Inscrit en
    Avril 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Médecin
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par irimi54 Voir le message
    Bonjour,

    Voila la petite base avec mon problème avec une image expliquant la marche à suivre pour tomber sur le pb
    Salut Irimi,
    Des plus doués que moi répondront mieux, mais le problème me semble venir de ce que, comme dans Inception, tu as trois enchaînements de formulaires. Il faut que tu ailles un degré plus loin.
    La ligne ci-dessous permet de retrouver le champ "ID_Nom", mais je n'ai pas eu le temps d'aller voir plus avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("Formulaire Resultat poule").Controls("F_SF_Tableau1").form.Controls("F_SF_Tab1_Tour1").form.controls("ID_Nom")
    Tiens-nous au courant.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/11/2005, 22h05
  2. Problème avec Between dans un code
    Par Sendo dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 18h44
  3. Ecriture de code html issu d'un tag dans un pop-up ?
    Par ouioui2000 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/09/2005, 11h34
  4. galere avec le port serie...
    Par toto4650 dans le forum MFC
    Réponses: 6
    Dernier message: 09/09/2005, 16h33
  5. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01

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