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 :

Ajout enregistrement dans une table


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut Ajout enregistrement dans une table
    Bonjour,

    J'ai besoin de votre avis pour m'aider à corriger mon code. Le but est simple: ajouter un enregistrement nouveau dans une table.

    après vérif dans la table, les enregistrements n'y sont pas.

    Avez vous une idée?
    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
    Private Sub BT_Creer_Click()
    Dim Response
    OuvertureSF1 = 0
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
     
            Set db = CurrentDb
            Set rst = db.OpenRecordset("T-Dossier", dbOpenDynaset)
     
    Reponse = MsgBox("Veuillez confirmer la création d'un nouvel enregistrement", vbYesNo, "Confirmation")
     
        If Reponse = vbYes Then
            stDocName = "F-Dossier"
            OuvertureSF1 = 1
            rst.AddNew
            rst!NomOccupantDossier = "test ajout"
            rst!CodeEtapeDossier = "1"
            rst!DateCreationDossier = Date
            rst!chemindossier = rst!CodeDossier & "\"
            MsgBox "le code du nv dossier est:" & rst!CodeDossier
            MsgBox "le chemin est:" & rst!chemindossier
     
            rst.Update
            rst.Close
          '  DoCmd.OpenForm stDocName, , , stLinkCriteria
     
           ' DoCmd.GoToRecord , , acNewRec
            'Call OuvertureFormulaireDossier
        End If
    End Sub

    Cordialement
    Patrick

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Et les MsgBox s'affichent?

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    oui elles s'affichent et les réponses sont cohérentes.

    c'est bizzare

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Juste une question, dans ton code ou est ce que figure une insertion d'un Nouveau Champ dans une Table, car moi pour inserer je n'ai jamais utilisé un code similaire au scien, peut être que tu as une nouvelle technique à nous expliquer .

    Moi c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim st as String
     
    st = Insert into Table ( Champs déclarer dans la table, champs 2 ..)
    st = (nom du controle dans l'IHM , nom 2 ....)
    Voilà

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Un détail en passant: attention aux déclarations des variables non typées (donc variant) et penser à rendre obligatoire leur déclaration (Option Explicit).

    Ici sans conséquences, ta variable Response ne correspond à celle utilisée (Reponse)


    Sinon, pour le problème rencontré, je ne vois pas pourquoi cela ne marcherait pas.. as-tu bien vérifié dans la table (c'est la bonne table... y a pas de filtre en cours....)?
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  6. #6
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Sinon peut être que la Table est liée avec une autre Table, dans ce Cas là tu ne pourras pas la remplir toute seule, ( Toujours en espérant que tu nous expliques la technique d'insertion dans ton Code).

    Alors enléves toutes jointures et aprés tu pourras inserer, parfois il faut même refaire toute la table.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Merci à tous de votre aide.

    Je m'en suis sorti tout simplement en redémarrant ACCESS. Cela fonctionne impeccablement.

    mais je n'explique toujours pas pourquoi ca plantait.

    Patrick

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    faressam, Je n'ai pas utilisé une requete SQL d'ajout, j'inscris directement dans le recordset. c'est equivalent, mais je trouve cette méthode un peut plus lisible pour affecter une valeur à un champs. Et puis (c'est pas dans mon code ici) tu peux en profiter pour vérifier si tu n'as pas déjà une valeur identique à un champs dans ta table.

    Cordialement
    Patrick

  9. #9
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Bein et dire qu'il suffisait de Redémarrer Access

    C'est ça l'informatique Parfois Faut pas chercher loin.

    Sinon c'est interessant la technique que tu m'as dit, d'inserer les Champs en Même Temps que de Vérifier si les même Valeurs Existent dèjà, si tu pouvais nous l'expliquer ça serait Sympa , car dans ma méthode y'a trop de Select/ Insert ....

    Mais aussi pour vérifier si les données n'existent pas Encore j'utilise la Fonction : DLookup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim varTest
    'Var Test est une Variable de Teste 
    varTest = DLookup("[NumAppli]", "ListeAppli", "[NumAppli] = '" & Me!
    NumAppli.Value & "'")
    
    'NumAppli : le nom du champ dans la table
    'ListeAppli : Le nom de la Table
    'Me!NumAppli.Value : Le Champ Saisie dans l'IHM
    
    If varTest = NumAppli.Value Then 
    ' Si la Valeur saisie est dèjà trouvé dans la Table  
    MsgBox " Le numéro d'Application '" & Me!NumAppli.Value & "' 
    est dèjà attribuer      
    Else....
    ça en fait Beaucoup de Testes pour temps de Table.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Voici un exemple de code où après saisie d'un control dans un formulaire. Il recherche dans la table si il y quelque chose d'approchant, le recense dans un listview, et propose à l'utilisateur une vérification visuelle. Sinon il crée un nouvel enregistrement et rafraïchit le formulaire.

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
     
    Private Sub VerifDoublon()
     
    Dim dbs As DAO.Database
    Dim rstCli As DAO.Recordset
    Dim rstCliTable As DAO.Recordset
    Dim strSQL As String
    Dim strClient As String
    Dim strCrit As String
    Dim Reponse
     'Déclaration des variables
       Dim ContenuChamps
       Dim ValeurColonne1
       Dim ValeurColonne2
       Dim ValeurColonne3
       Dim ValeurColonne4
       Dim ValeurColonne5
       Dim ValeurColonne6
     
    Set dbs = CurrentDb
    'Set rstCli = dbs.OpenRecordset("T-Client", dbOpenSnapshot)
     
    strSQL = "SELECT [T-client].*, [T-Cedex].Ville"
    strSQL = strSQL + " FROM [T-Cedex] RIGHT JOIN [T-client] ON [T-Cedex].CP = [T-client].CPClient;"
     
    'Ouverture de la requête
    Set rstCli = dbs.OpenRecordset(strSQL)
     
    Set rstCliTable = dbs.OpenRecordset("T-Client", dbOpenDynaset)
    strClient = Me!NomClientForm
    'MsgBox strClient
    With rstCli
     
        .MoveLast
        'création du critère de recherche
        strCrit = "nomclient like '*" & strClient & "*'"
        .FindFirst strCrit
     
    ' test s'il existe un enregistrement
        If .NoMatch Then
        Reponse = MsgBox("Aucun client de portant se nom n'est référencé, Voulez-vous l'ajouter à la base?", vbYesNo, "Confirmation")
        If Reponse = vbYes Then
        'création d'un nouvelle enregistrement
        rstCliTable.AddNew
        'remplissage des champs
     
        rstCliTable!NomClient = Me!NomClientForm
        'rstCliTable!PrenomClient = Me!PrenomClientForm
        'rstCliTable!AdrClient = Me!AdrClientForm
        'rstCliTable!AdrSuiteClient = Me!AdrSuiteClientForm
        'rstCliTable!CPClient = Me!CPClientForm
     
        'Sauvegarde du nouvel enregistrement
        rstCliTable.Update
        rstCliTable.MoveLast
        Me!CodeClient = rstCliTable!CodeClient
        MsgBox "" & rstCliTable!CodeClient
        End If
        Else
        ' IL EXISTE DES ENREGISTREMENTS QUI CORREPONDEN AUX CRITERES
     
            DoCmd.OpenForm "F-Doublonclient"
            'Vidage de la liste
        Forms![F-doublonclient]!ListeDoublonClient.ListItems.Clear
       'Affichage des entêtes
        Forms![F-doublonclient]!ListeDoublonClient.HideColumnHeaders = False
        'Détermination des entêtes centrage lvwColumnCenter lvwColumnRight lvwColumnleft
     
        With Forms![F-doublonclient]!ListeDoublonClient.ColumnHeaders
            .Clear
            .Add , , "Code", 0, lvwColumnLeft
            .Add , , "Nom", 2000, lvwColumnLeft
            .Add , , "Prénom", 1200, lvwColumnLeft
            .Add , , "Adresse", 2700, lvwColumnLeft
            .Add , , "CP", 700, lvwColumnCenter
            .Add , , "Ville", 2700, lvwColumnLeft
        End With
     
     
        'recherche tous les enregistrement correspondant aux critères
        Do While True
       '     MsgBox rstCli!NomClient
     
          'Ajout des lignes
      ' While Not rstCli.EOF
       ValeurColonne1 = rstCli!CodeClient
       ValeurColonne2 = rstCli!NomClient
       ValeurColonne3 = rstCli!PrenomClient
       ValeurColonne4 = rstCli!AdrClient
       ValeurColonne5 = rstCli!CPClient
       ValeurColonne6 = rstCli!Ville
     
     
       Set itmAdd = Forms![F-doublonclient]!ListeDoublonClient.ListItems.Add()
     
        'Ajout contenu colonne 1
            itmAdd.Text = ValeurColonne1
     
        'Ajout contenu colonne 2
            If IsNull(ValeurColonne2) Then
                ContenuChamps = ""
            Else
                ContenuChamps = ValeurColonne2
            End If
            itmAdd.SubItems(1) = ContenuChamps
     
        'Ajout contenu colonne 3
            If IsNull(ValeurColonne3) Then
                ContenuChamps = ""
            Else
                ContenuChamps = ValeurColonne3
            End If
            itmAdd.SubItems(2) = ContenuChamps
     
        'Ajout contenu colonne 4
            If IsNull(ValeurColonne4) Then
                ContenuChamps = ""
            Else
                ContenuChamps = ValeurColonne4
            End If
            itmAdd.SubItems(3) = ContenuChamps
     
        'Ajout contenu colonne 5
            If IsNull(ValeurColonne5) Then
                ContenuChamps = ""
            Else
                ContenuChamps = ValeurColonne5
            End If
            itmAdd.SubItems(4) = ContenuChamps
     
        'Ajout contenu colonne 6
            If IsNull(ValeurColonne6) Then
                ContenuChamps = ""
            Else
                ContenuChamps = ValeurColonne6
            End If
            itmAdd.SubItems(5) = ContenuChamps
     
        .FindNext strCrit
         If .NoMatch Then Exit Do
     
        Loop
          rstCli.Close
          Forms![F-doublonclient]!ListeDoublonClient.SortKey = 1
       Forms![F-doublonclient]!ListeDoublonClient.SortOrder = lvwAscending
     
       'Forms![F-ListeClient]!BT_Supprimer.Enabled = False
     
        End If
        End With
     
     
     
    End Sub
    J'espère que tu arriveras à t'y retrouver dans tout ca, j'ai fait un copier coller en vrac.

    a+

    Patrick

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Bonjour, je vois que vous parlez d'une chose dont j'ai besoin (enfin je pense que c'est la même chose), je vous explique.

    J'ai un formulaire avec des champs à remplir à l'intérieur:

    code client
    Mois affaire
    Année affaire
    Date affaire
    Intitulé affaire
    Date clotûre
    Date paiement
    Réf devis

    Je voudrais une fois avoir appuyé sur un bouton "Validation" que les données entrées dans le formulaire soit enregistrées dans ma table "T_création affaire" qui est déjà créée.

    Composition table:
    Numéro affaire | NuméroAuto
    code client |Numérique
    Mois affaire |Texte
    Année affaire |Texte
    Date affaire |Date/Heure
    Intitulé affaire |Texte
    Date clotûre |Date/Heure
    Date paiement |Date/Heure
    Réf devis |Numérique

    En fait chaque fois que j'appuie sur le bouton validation, cela produit un nouveau numéro auto.

    Je voudrais savoir si vous pouviez m'aider mais en m'expliquant vraiment tout car je suis novice dans l'utilisation du VBA sur ACCESS. Une explication détaillé serait le bonheur pour moi.

    Merci encore

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Si j'ai bien compris tu ne veux pas lier ton formulaire à table "T_creation affaire".

    Procéde comme suis:

    Tu crées une fonction qui va enregistrer les valeurs dans la table:
    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
     
     
    Function MAJ_BaseAffaire(NumAffaire, CodeClient, MoisAffaire, DateAffaire, intituleAffaire, DateCloture, DatePaiement, RefDevis)
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
            Set db = CurrentDb
            Set rs = db.OpenRecordset("T_création affaire", dbOpenDynaset)
     
     
        rs.AddNew
     
        rs![numéro affaire] = Numaffaire
        rs![code client]= codeclient
        rs![mois affaire] = MoisAffaire
        rs![Date affaire] = dateAffaire
        rs![Intitulé affaire]= intituleAffaire
        rs![Date clotûre] = DateCloture
        rs![Date paiement]  = DatePaiement
        rs![Réf devis] = RefDevis
     
        rs.Update
        rs.Close
     
       End Function
    tu crée un formulaire avec des champs de saisie
    portant les noms suivant:

    NumAffaire
    CodeClient
    MoisAffaire
    et ainsi de suite...


    Ensuite tu crées un bouton sur met la procédure suivante sur l'évenement "sur clic"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    MAJ_BaseAffaire me!NumAffaire, me!codeclient, me!moisAffaire, ... etc.
    Avec ça tu devrais t'en sortir.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Merci pour ta réponse par contre où je code la fonction MAJ_BaseAffaire par ce que je suis novice en VBA.

    Et pour le numéro d'affaire en fait je voudrais qu'il se soit créé automatiquement, sans avoir à le remplir dans le formulaire, lors de l'appui du bouton.

    Pour être plus clair, le numéro d'affaire est un numéro automatique sans que je puisse le voir sur le formulaire.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    tu saisis le code dans un module hors de ton fomulaire. En revanche pour le bouton c'est dans le fomulaire sur l'evenement sur click que tu dois mettre le code.

    pour le numéro d'affaire rien de plus simple, il faut que tu identifies le champs de la table en numeroauto.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Salut,

    j'ai essayé de faire ce que vous m'aviez dit mais chaque essai a été sans succés donc je reviens vers vous pour m'aider

    voici mon code sur le bouton de mon formulaire:

    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
    Private Sub validation_affaire_créée_Click()
    On Error GoTo Err_validation_affaire_créée_Click
     
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
            Set db = CurrentDb
            Set rs = db.OpenRecordset("T_création affaire", dbOpenDynaset)
     
        rs.AddNew
     
        rs![Code affaire] = Codeaffaire
        rs![code client] = codeClient
        rs![Mois] = MoisAffaire
        rs![Année] = AnnéeAffaire
        rs![Date affaire] = DateAffaire
        rs![Intitulé affaire] = IntituléAffaire
        rs![Date clotûre] = DateClotûre
        rs![Date paiement] = DatePaiement
        rs![Réf devis] = RéfDevis
     
        rs.Update
        rs.Close
     
    Dim stDocName As String
     
        stDocName = "M_C-affaire_transfert affaire créée"
        DoCmd.RunMacro stDocName
        DoCmd.Close
        DoCmd.Close acForm, "F_C-affaire"
     
    Exit_Validation_Click:
        Exit Sub
     
    Err_Validation_Click:
        MsgBox Err.Description
        Resume Exit_Validation_Click
     
    End Sub
    j'ai une fenêtre VisualBasic qui s'affiche avec:
    Erreur de compilation
    Etiquette non définie

    En plus j'aimerais intégré une fenêtre avec une confirmation OUI/NON qui s'ouvre dés que j'appuie sur le bouton du formulaire permettant lors d'erreur de sélectionner NON et donc d'effectuer aucune action et lors de l'appui sur OUI d'effectuer les actions.

    Merci de votre aide

  16. #16
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par saxoman76 Voir le message
    j'ai une fenêtre VisualBasic qui s'affiche avec:
    Erreur de compilation
    Etiquette non définie
    Hummm... cela me parait évident pourtant ....
    Err_validation_affaire_créée_Click n'existe pas dans ta procédure....

    Citation Envoyé par saxoman76 Voir le message
    En plus j'aimerais intégré une fenêtre avec une confirmation OUI/NON qui s'ouvre dés que j'appuie sur le bouton du formulaire permettant lors d'erreur de sélectionner NON et donc d'effectuer aucune action et lors de l'appui sur OUI d'effectuer les actions.
    Merci de votre aide
    Voir Msgbox dans l'aide
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Je te remercie, à force d'être trop longtemps dessus, on arrive à ne plus rien voir.

    Je regarde dans l'aide pour la msgbox, c'est vrai que je n'ai pas pris le temps de regarder dedans.

    Merci

    C'est ok j'ai trouvé la rédaction des messages box, je remercie tout le monde qui m'a aidé

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Je n'ai pas tout à fait compris ton besoin

    pour faire un fenêtre avec une question, modifie le code comme suit:

    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
     
    Private Sub validation_affaire_créée_Click()
     
    Dim Reponse
     
     
    Reponse=msgbox("Ici la question",vbYESNO,"Titre de la fenêtre")
     
    if Response=VbYes then 
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
     
            Set db = CurrentDb
            Set rs = db.OpenRecordset("T_création affaire", dbOpenDynaset)
     
        rs.AddNew
     
        rs![Code affaire] = Codeaffaire
        rs![code client] = codeClient
        rs![Mois] = MoisAffaire
        rs![Année] = AnnéeAffaire
        rs![Date affaire] = DateAffaire
        rs![Intitulé affaire] = IntituléAffaire
        rs![Date clotûre] = DateClotûre
        rs![Date paiement] = DatePaiement
        rs![Réf devis] = RéfDevis
     
        rs.Update
        rs.Close
     
    Dim stDocName As String
     
        stDocName = "M_C-affaire_transfert affaire créée"
        DoCmd.RunMacro stDocName ' A quoi ça sert?
        DoCmd.Close
        DoCmd.Close acForm, "F_C-affaire"
     
    end if  
     
    End Sub
    Essayes comme ça, cela devrait fonctionner. Le renvoie sur erreur était faux



  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 14
    Points
    14
    Par défaut
    Je te remercie pkrvz mais j'ai réussi en fait c'est ce que j'ai voulu dire dans mon précédent message par contre est-on obligé de mettre ces renvoi sur erreur sur un événement.

    Sans te commander, pense à mettre résolu sur ce post si toi aussi tu as débloqué ton problème pour permettre d'aider les personnes en difficulté.

    Bye et encore merci tout le monde pour votre grande aide

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2009, 08h41
  2. Réponses: 4
    Dernier message: 10/12/2006, 16h47
  3. Réponses: 7
    Dernier message: 07/06/2006, 07h32
  4. Réponses: 2
    Dernier message: 08/02/2006, 21h22
  5. AJOUT d'un ENREGISTREMENT dans UNE TABLE
    Par ramo dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/08/2005, 16h24

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