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

Access Discussion :

Une autre façon de Sélection Multiple élégante [AC-2013]


Sujet :

Access

  1. #1
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Une autre façon de Sélection Multiple élégante
    Bonsoir membres du forum !
    Heureux de vous retrouver !
    Je reviens avec une autre manche de Sélection Multiple (élégante).
    Capture d’erreur:

    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
    50
    51
    52
    53
    Private Sub cmdInitialiser_Click()
    On Error GoTo OUMAR
    If IsNull(Me.IdentifEtablissement) Or Me.IdentifEtablissement = "" Then
        If MsgBox("Selectionnez le Nom de l'ETABLISSEMENT!", vbOKOnly, "ENTREZ LES PARAMETRES") = vbCancel Then Exit Sub
      End If
    If IsNull(Me.ANNEE_SCOL) Or Me.ANNEE_SCOL = "" Then
        If MsgBox("Selectionnez le Nom de l'ANNEE_SCOL!", vbOKOnly, "ENTREZ LES PARAMETRES") = vbCancel Then Exit Sub
      End If
     
    If IsNull(Me.CocherArticleAchete) Or Me.CocherArticleAchete = 0 Then
        If MsgBox("Cochez la boîte CocherArticleAchete !", vbOKOnly, "ENTREZ LES PARAMETRES") = vbCancel Then Exit Sub
      End If
     
    If Not IsNull(Me.IdentifEtablissement) And Not IsNull(Me.ANNEE_SCOL) And Me.CocherArticleAchete = -1 Then
        DoCmd.SetWarnings False
        AjouterArticles Me.IdentifEtablissement, Me.ANNEE_SCOL
        Me.CocherArticleAchete = ""
        Me.Requery
        DoCmd.SetWarnings True
    End If
    Exit Sub
    OUMAR:
        MsgBox err.description, vbExclamation + vbOKOnly, err.Number
     
    End Sub
     
    Sub AjouterArticles(idEtab As Long, AnSco As String)
    On Error GoTo OUMAR
    Dim BD As Database
    Dim RS As Recordset
    Dim sql As String
    Set BD = CurrentDb
    DoCmd.SetWarnings False
     
    sql = "select * from [ArticlesScolairesEnregistres] where ANNEE_SCOL = '" & AnSco & "' and IdentifEtablissement = " & idEtab & " order by NumEnregistreArticle ;"
    Set RS = BD.OpenRecordset(sql)
    With RS
        If .EOF Then
        Else
            .MoveFirst
            Do While Not .EOF
            sql = "INSERT INTO [ArticlesScolairesEnregistres_Achetes] VALUES(" & f_ArticlesScolairesEnregistres_Achetes() + 1 & ",'" & idEtab & "," & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & "'," & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ", " & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ",Date(),'Non','');"
            DoCmd.RunSQL sql
            .MoveNext
            Loop
        End If
    End With
     
    DoCmd.SetWarnings True
    Exit Sub
    OUMAR:
    MsgBox err.description, vbExclamation, err.Number
    End Sub
    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
    Function PrixAchatArticlesScolaires(anco As String, etb As Long, NumArt As Long) As Double
    Dim BD As Database
    Dim R As Recordset
    Dim sql As String
     
    Set BD = CurrentDb
    sql = "select * from [ArticlesScolairesEnregistres] where ANNEE_SCOL = '" & anco & "' and IdentifEtablissement = " & etb & "and ARTICLES_SCOL = " & NumArt & ";"
    Set R = BD.OpenRecordset(sql)
    With R
        If Not .EOF Then
        PrixAchatArticlesScolaires = .Fields("PRIX_ACHAT")
        Else
        PrixAchatArticlesScolaires = 0
        End If
    End With
    End Function
     
    Function PrixVenteArticlesScolaires(AnSco As String, idEtab As Long, NumArt As Long) As Double
    Dim BD As Database
    Dim R As Recordset
    Dim sql As String
     
    Set BD = CurrentDb
    sql = "select * from [ArticlesScolairesEnregistres] where ANNEE_SCOL = '" & AnSco & "' and IdentifEtablissement = " & idEtab & "and ARTICLES_SCOL = " & NumArt & ";"
     
    Set R = BD.OpenRecordset(sql)
    With R
        If Not .EOF Then
        PrixVenteArticlesScolaires = .Fields("PRIX_VENTE")
        Else
        PrixVenteArticlesScolaires = 0
        End If
    End With
    End Function
     
    'Fonction ramenant l'auteur
    'Selon la Table Tbl_ArticlesSolaires
    Public Function RamenerAuteurSelonTbl_ArticlesSolaires(etab As Long, idXArti As Long) As String
    On Error GoTo MOROBABOUMAR
    If IsNull(idXArti) Then Exit Function
    Dim db As Database
    Dim rst As Recordset
    Dim sql As String
        Set db = CurrentDb
        sql = "select * from Tbl_ArticlesSolaires where NUM_ARTI_SCOL = " & idXArti & " order by DateEnregistrement desc ;"
        Set rst = db.OpenRecordset(sql)
        If Not rst.EOF Then
            RamenerAuteurSelonTbl_ArticlesSolaires = Trim(rst.Fields("Auteur"))
        Else
            RamenerAuteurSelonTbl_ArticlesSolaires = ""
        End If
    Exit Function
    MOROBABOUMAR:
        MsgBox "Erreur n° " & err.Number & vbCrLf & err.description, vbCritical + vbOKOnly, "Une erreur est survenue"
    End Function
    Objectif: Transfert de données d'une table à une autre par le biais de 2 formulaires.

    Piece jointe

    Cordialement.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  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,
    il faut revoir cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "INSERT INTO [ArticlesScolairesEnregistres_Achetes] VALUES(" & f_ArticlesScolairesEnregistres_Achetes() + 1 & ",'" & idEtab & "," & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & "'," & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ", " & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ",Date(),'Non','');"
    car lorsqu'on édite le contenu du sql voici ce qu'on obtient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ?sql
    INSERT INTO [ArticlesScolairesEnregistres_Achetes] VALUES(734,'1,2014-2015',31',550, 2,700,Date(),'Non','');
    1) il faut préciser le nom des champs pour chaque valeur insérée et dans l'ordre des valeurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [ArticlesScolairesEnregistres_Achetes] (champ1,champ2,...champ10)
    2) il manque des apostrophes dans cette partie de l'expression générée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES(734,'1','2014-2015','31',550, 2,700,Date(),'Non','');
    3) un booléen (Oui/Non) s'alimente avec -1 ou 0 et pas avec 'Oui' ou 'Non'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES(734,'1','2014-2015','31',550, 2,700,Date(),0,'');
    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 confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonjour membres du forum,
    bonjour tee_grandbois,
    J-ai essayé d'améliorer la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes(ARTICL_SCO_EnrAchete, AuteurArtScol,Montant_ACHAT,Montant_VENTE) VALUES(f_ArticlesScolairesEnregistres_Achetes() + 1," & idEtab & ";" & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & "'," & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ", " & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ""
    Message d'erreur:
    Nom : CaptureSelectionMultipleélégante2.PNG
Affichages : 257
Taille : 11,5 Ko

    A+
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  4. #4
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut membres du forum;
    salut tee_grandbois,
    une 2e d'amélioration de la ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes(ARTICL_SCO_EnrAchete, AuteurArtScol,Montant_ACHAT,Montant_VENTE) VALUES(f_ArticlesScolairesEnregistres_Achetes() + 1," & Me.IdentifEtablissement & ",'" & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & ",'" & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & "," & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ""
    Message d'erreur:
    Nom : CaptureSelectionMultipleélégante3.PNG
Affichages : 227
Taille : 21,4 Ko

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  5. #5
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut membres du forum !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes(NumVente_Fourn_Scol,Etabissement_NO,anneescol,ARTICL_SCO_EnrAchete, AuteurArtScol,Montant_ACHAT,Montant_VENTE) VALUES(f_ArticlesScolairesEnregistres_Achetes() + 1," & Me.IdentifEtablissement & ",'" & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & ",'" & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & "," & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ""                                                                                                                                                                'VALUES(734,'1','2014-2015','31',550, 2,700,Date(),0,'');
    Message d'Erreur
    Nom : CaptureSelectionMultipleélégante4.PNG
Affichages : 212
Taille : 19,4 Ko
    Sans votre aide, je trouve que je ne puis aller plus loin car concernant les apostrophes au niveau de codes, j'ai beaucoup de difficultés.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut membres du forum !
    Cette ligne de code marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes(NumVente_Fourn_Scol,Etabissement_NO,anneescol,ARTICL_SCO_EnrAchete, AuteurArtScol,Montant_ACHAT,Montant_VENTE,Date_V) VALUES(" & f_ArticlesScolairesEnregistres_Achetes() + 1 & ", '" & Me.IdentifEtablissement & ", " & Me.ANNEE_SCOL & "'," & .Fields("ARTICLES_SCOL") & "," & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ", " & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & ",Date(),'');"                                                                                                                                                               'VALUES(734,'1','2014-2015','31',550, 2,700,Date(),0,'');
    mais avec des erreurs après d'insertion de données notamment les champs:
    Etabissement_NO, anneescol;NumInsCriptEleve; Mleeleve

    Nom : CaptureSelectionMultipleélégante5.PNG
Affichages : 283
Taille : 48,5 Ko

    ensuite, plus de 100 enregistrements sont insérés dans la table "ArticlesScolairesEnregistres_Achetes"
    alors que seuls ceux de l’élève affiché devraient y être insérés.

    Quelle solution ?

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  7. #7
    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,
    Sans votre aide, je trouve que je ne puis aller plus loin car concernant les apostrophes au niveau de codes, j'ai beaucoup de difficultés.
    Cordialement.
    les apostrophes, tu dois les mettre avant et après chaque valeur texte ou date, ce n'est pas obligatoire pour les nombres, sauf si ils peuvent contenir des décimales.
    Et pour y voir plus clair, tu mets une valeur par ligne comme cela tu verras mieux si il manque une apostrophe.
    Il ne faut pas non plus oublier le souligné "_" qui est le caractère de continuation d'une ligne dans VBA:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes " _
        & "(NumVente_Fourn_Scol,Etabissement_NO,anneescol,ARTICL_SCO_EnrAchete, AuteurArtScol,Montant_ACHAT,Montant_VENTE) VALUES(" _
        & f_ArticlesScolairesEnregistres_Achetes() + 1 & "," _
        & Me.IdentifEtablissement & "," _
        & "'" & Me.ANNEE_SCOL & "',"  _
        & .Fields("ARTICLES_SCOL") & "," _ 
        & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & "," _
        & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & ","  _
        & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) _
        & ");"
    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 ?

  8. #8
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir tee_grandbois !
    Effectivement votre code marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes " _
        & "(NumVente_Fourn_Scol,Etabissement_NO,anneescol,NumInsCriptEleve,Mleeleve,ARTICL_SCO_EnrAchete, Montant_ACHAT,AuteurArtScol,Montant_VENTE) VALUES(" _
        & f_ArticlesScolairesEnregistres_Achetes() + 1 & "," _
        & Me.IdentifEtablissement & "," _
        & "'" & Me.ANNEE_SCOL &é  "'," _
        & Me.tXT_NumInsCrEl & "," _
        & Me.Txt_MleEleve_SF & "," _
        & .Fields("ARTICLES_SCOL") & "," _
        & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & "," _
        & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," _
        & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) _
        & ");"
    S'il vous plait j'avais souligné une remarque:
    ensuite, plus de 100 enregistrements sont insérés dans la table "ArticlesScolairesEnregistres_Achetes"
    alors que seuls ceux de l’élève affiché devraient y être insérés.

    Nom : CaptureSelectionMultipleélégante6.PNG
Affichages : 235
Taille : 65,0 Ko

    Quelle solution ?
    Je voudrais dire aussi seuls les articles cochés pour l'elève affiché, doivent être insérés dans la table d'achat
    Comment procéder ?
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  9. #9
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut COMMENT TRANSFERER SEULEMENT LES DONNEES SELECTIONNEES D'UNE TABLE VERS UNE AUTRE TABLE ACCESS ?
    Bonjour tee_grandbois !

    Comment transférer seulement les données sélectionnées (cochées) de la case à cocher CocherArticleAchete de la table ArticlesScolairesEnregistres dans la table ArticlesScolairesEnregistres_Achetes ?

    S'il vous plait j'avais souligné une remarque:
    ensuite, plus de 100 enregistrements sont insérés dans la table "ArticlesScolairesEnregistres_Achetes"
    alors que seuls ceux de l’élève affiché devraient y être insérés.
    Quelle solution ?
    Je voudrais dire aussi seuls les articles cochés pour l'elève affiché, doivent être insérés dans la table d'achat
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  10. #10
    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 morababoumar,
    Comment transférer seulement les données sélectionnées (cochées) de la case à cocher CocherArticleAchete de la table ArticlesScolairesEnregistres dans la table ArticlesScolairesEnregistres_Achetes ?
    peut-être en précisant dans la requête qu'il ne faut prendre que ceux qui sont cochés:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub AjouterArticles(idEtab As Long, AnSco As String)
    On Error GoTo OUMAR
    Dim BD As Database
    Dim RS As Recordset
    Dim sql As String
    Set BD = CurrentDb
    DoCmd.SetWarnings False
    
    sql = "select * from [ArticlesScolairesEnregistres] where ANNEE_SCOL = '" & AnSco & "' and IdentifEtablissement = " & idEtab & " and CocherArticleAchete order by NumEnregistreArticle ;"
    Set RS = BD.OpenRecordset(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 ?

  11. #11
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Remerciement
    Bonsoir membres du forum,
    Bonsoir tee_grandbois !
    Merci infiniment!
    Voici le code complet:
    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
    Sub AjouterArticles(idEtab As Long, Ansco As String)
    On Error GoTo OUMAR
    Dim BD As Database
    Dim RS As Recordset
    Dim sql As String
    Set BD = CurrentDb
    DoCmd.SetWarnings False
     
    sql = "select * from [ArticlesScolairesEnregistres] where ANNEE_SCOL = '" & Ansco & "' and IdentifEtablissement = " & idEtab & " and CocherArticleAchete order by NumEnregistreArticle ;"
    Set RS = BD.OpenRecordset(sql)
     
    Set RS = BD.OpenRecordset(sql)
    With RS
        If .EOF Then
        Else
            .MoveFirst
            Do While Not .EOF
       sql = "INSERT INTO ArticlesScolairesEnregistres_Achetes " _
        & "(NumVente_Fourn_Scol,Etabissement_NO,anneescol,NumInsCriptEleve,Mleeleve,ARTICL_SCO_EnrAchete, Montant_ACHAT,AuteurArtScol,Montant_VENTE) VALUES(" _
        & f_ArticlesScolairesEnregistres_Achetes() + 1 & "," _
        & Me.IdentifEtablissement & "," _
        & "'" & Me.ANNEE_SCOL & "'," _
        & Me.tXT_NumInsCrEl & "," _
        & Me.Txt_MleEleve_SF & "," _
        & .Fields("ARTICLES_SCOL") & "," _
        & PrixAchatArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) & "," _
        & RamenerAuteurSelonTbl_ArticlesSolaires(Me.IdentifEtablissement, .Fields("AuteurArtScol")) & "," _
        & PrixVenteArticlesScolaires(Me.ANNEE_SCOL, Me.IdentifEtablissement, .Fields("ARTICLES_SCOL")) _
        & ");"
     '
            DoCmd.RunSQL sql
            .MoveNext
            Loop
        End If
    End With
     
    DoCmd.SetWarnings True
     
        Forms("FrmEnregistreCmdeArticlesScol_Divers").ArticlesScolairesEnregistres_Achetes_SF_Plus.Requery
     
    Exit Sub
    OUMAR:
    MsgBox err.description, vbExclamation, err.Number
    End Sub
    Merci infiniment à toute la famille developpez.net .
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

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

Discussions similaires

  1. récupérer les valeurs d'une zone de liste à sélection multiple
    Par garsflo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 09/07/2009, 21h19
  2. Ecrire une méthode d'une autre façon
    Par Sabact dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 06/05/2008, 08h17
  3. Une autre façon de compter les pages d'un document word
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/05/2007, 12h53
  4. [JavaScript] [FAQ] une autre façon de faire des tableaux à coins arrondis
    Par SpaceFrog dans le forum Contribuez
    Réponses: 6
    Dernier message: 10/01/2007, 09h35
  5. Imbriquer une méthode dans une autre façon php
    Par titpuce dans le forum Langage
    Réponses: 6
    Dernier message: 09/10/2006, 10h56

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