Insérez une ligne dans une table automatique chaque mois

Résolu/Fermé
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 - 13 mars 2013 à 12:08
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 - 4 juin 2013 à 19:16
Bonjour,

J'ai créer mon compte bancaire sous Access, mais maintenant je souhaiterai créer un système qui permettrait d'enregistrer mon assurance dans la table mouvements.

C'est à dire que le 5 de chaque mois, une ligne s'inscrit pour me déduire 100€ d'assurance sur mon compte bancaire.

Apparemment, il faudrait travailler avec un langage informatique mais je ne connais aucun de ses langages.

Donc, si des personnes dévouées pourrais m'aider à faire progresser mon idée si vous plait.

Je vous remercie d'avance pour votre aide,
cordialement Jiben59


A voir également:

8 réponses

patrick97491
19 mars 2013 à 18:41
microsoft est ton ami lol http://support.microsoft.com/kb/931407/fr
1
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 1
18 mars 2013 à 22:33
Bonsoir,

pourrais je savoir ce que signifie ce message qui s'ouvre lors que je démarre ma base de données si vous plaît :

Capture d'écran : http://d8.e-loader.net/lU6V9O4jgY.jpg

Merci à ceux qui me répondrais.
Cordialement Jiben59.
0
patrick97491
18 mars 2013 à 23:14
En fait access te dis que ta macro s'est plantée
0
patrick97491
18 mars 2013 à 23:20
pour ta première question tu devrais t'inspirer de ça http://groupes.codes-sources.com/article-comment-entrer-date-recurrente-dans-formulaire-access-111077.aspx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 1
19 mars 2013 à 17:39
Bonjour,

on ma conseiller de créer une table avec les champs suivants : http://d3.e-loader.net/OaPekbOIbZ.jpg

Et on ma fournit un code que j'ai adapté à cette table :

Function MaJ_Periodique()
    Dim SQL As String, oSQL As DAO.Recordset
    Dim IDPaiPer As String, LibPaiPer As String, MTPaiPer As String, MoisPaiPer As String, CodePmt As String, CodeJrnl As String, CodeSsJrnl  As String, CodePaiPer As String
    Dim ProchainPaiPer As Date, FuturPaiPer As Date
 
    DoCmd.SetWarnings False
 
    'Je lis la table PaiementPeriodique pour ne récupérer que les paiements à faire
    SQL = "SELECT PaiementPeriodique.* " _
        & " FROM PaiementPeriodique " _
        & "WHERE PaiementPeriodique.FinPaiPer>Now() AND PaiementPeriodique.ProchainPaiPer<=Now();"
 
    'Exécute la requête
    Set oSQL = CurrentDb.OpenRecordset(SQL)
    'Fait l'analyse de tous les paiements
    Do Until oSQL.EOF
        'Initialise mes variables
        IDPaiPer = oSQL("CodePaiPer")
        LibPaiPer = oSQL("LibellePaiPer")
        MTPaiPer = oSQL("MontantPaiPer")
        ProchainPaiPer = oSQL("ProchainPaiPer")
        FuturPaiPer = DateAdd("m", 1, ProchainPaiPer) 'Ajoute un mois à la date du paiement
        MoisPaiPer = Format(oSQL("ProchainPaiPer"), "MMMM") 'récupère le mois en texte
    CodePmt = oSQL("CodePmt")
    CodeJrnl = oSQL("CodeJrnl")
    CodeSsJrnl = oSQL("CodeSsJrnl")
    CodePaiPer = oSQL("CodePaiPer")
 
        'Ajout la donnée dans la table Mouvements
         
DoCmd.RunSQL "INSERT INTO Mouvements (DateMvt, LibelleMvt, MontantMvt, CodePmt, CodeJrnl, CodeSsJrnl, CodePaiPer) " _
            & "VALUES (#" & Format(ProchainPaiPer, "MM/DD/YY") & "#, """ & LibPaiPer & UCase(Left(MoisPaiPer, 1)) & LCase(Right(MoisPaiPer, Len(MoisPaiPer) - 1)) & """, " & MTPaiPer & ", """ & CodePmt & """, """ & CodeJrnl & """, """ & CodeSsJrnl & """, """ & CodePaiPer & """)"
 
        'Mise à jour la date du prochain paiement dans la table PaiementPeriodique
        DoCmd.RunSQL "UPDATE PaiementPeriodique SET PaiementPeriodique.ProchainPaiPer = #" & Format(FuturPaiPer, "MM/DD/YY") & "# " _
            & "WHERE PaiementPeriodique.CodePaiPer=" & IDPaiPer & ";"
 
        oSQL.MoveNext
    Loop
 
    DoCmd.SetWarnings True
End Function



Mais je ne trouve pas ou j'aurais pu faire une erreur :s

Voici ma base de données d'exemple : https://www.box.com/s/zifejh2d6ocbypkcpgud

Je vous remercie de votre aide.
Cordialement Jiben59.
0
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 1
Modifié par Jiben59 le 19/03/2013 à 19:19
Bonjour,

effectivement c'était ceci le problème, je n'avais pas entendu parler de ce problème de cette erreur "2950", je vous remercie pour votre aide et de vos connaissances.

Modèle relationnel : http://d24.e-loader.net/HMQvfH2E4s.jpg

Petite dernière question, d'après vous faut il relier les clés primaires avec les champs de la table PaiementPeriodique, par exemple doit on relier CodePmt de la table Paiement avec le champs CodePmt de la table PaiementPeriodique ?

Encore merci pour votre aide.

Cordialement Jiben59.
0
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 1
7 avril 2013 à 12:21
Bonjour,
ce mois ci aucune lignes c'est misent automatiques alors que lors des test sa avait marché sur ma base de données d'essai.

Je vous transmet ici les captures d'écran de la table mouvements et PaiementPeriodique :

http://d19.e-loader.net/efB5HudOOf.png


http://d34.e-loader.net/vdiX4qPWfx.jpg


Le code VBA est le suivant :

Function MaJ_Periodique()
    Dim SQL As String, oSQL As DAO.Recordset
    Dim IDPaiPer As String, LibPaiPer As String, MTPaiPer As String, MoisPaiPer As String, CodePmt As String, CodeJrnl As String, CodeSsJrnl  As String, CodePaiPer As String
    Dim ProchainPaiPer As Date, FuturPaiPer As Date
 
    DoCmd.SetWarnings False
 
    'Je lis la table PaiementPeriodique pour ne récupérer que les paiements à faire
    SQL = "SELECT PaiementPeriodique.* " _
        & " FROM PaiementPeriodique " _
        & "WHERE PaiementPeriodique.FinPaiPer>Now() AND PaiementPeriodique.ProchainPaiPer<=Now();"
 
    'Exécute la requête
    Set oSQL = CurrentDb.OpenRecordset(SQL)
    'Fait l'analyse de tous les paiements
    Do Until oSQL.EOF
        'Initialise mes variables
        IDPaiPer = oSQL("CodePaiPer")
        LibPaiPer = oSQL("LibellePaiPer")
        MTPaiPer = oSQL("MontantPaiPer")
        ProchainPaiPer = oSQL("ProchainPaiPer")
        FuturPaiPer = DateAdd("m", 1, ProchainPaiPer) 'Ajoute un mois à la date du paiement
        MoisPaiPer = Format(oSQL("ProchainPaiPer"), "MMMM") 'récupère le mois en texte
    CodePmt = oSQL("CodePmt")
    CodeJrnl = oSQL("CodeJrnl")
    CodeSsJrnl = oSQL("CodeSsJrnl")
    CodePaiPer = oSQL("CodePaiPer")
 
        'Ajout la donnée dans la table Mouvements
         
DoCmd.RunSQL "INSERT INTO Mouvements (DateMvt, LibelleMvt, MontantMvt, CodePmt, CodeJrnl, CodeSsJrnl, CodePaiPer) " _
            & "VALUES (#" & Format(ProchainPaiPer, "MM/DD/YY") & "#, """ & LibPaiPer & UCase(Left(MoisPaiPer, 1)) & LCase(Right(MoisPaiPer, Len(MoisPaiPer) - 1)) & """, " & MTPaiPer & ", """ & CodePmt & """, """ & CodeJrnl & """, """ & CodeSsJrnl & """, """ & CodePaiPer & """)"
 
        'Mise à jour la date du prochain paiement dans la table PaiementPeriodique
        DoCmd.RunSQL "UPDATE PaiementPeriodique SET PaiementPeriodique.ProchainPaiPer = #" & Format(FuturPaiPer, "MM/DD/YY") & "# " _
            & "WHERE PaiementPeriodique.CodePaiPer=" & IDPaiPer & ";"
 
        oSQL.MoveNext
    Loop
 
    DoCmd.SetWarnings True
End Function


Mais quand on ouvre le module, j'ai ce message qui s'affiche :

http://d28.e-loader.net/QYmtfclPPu.jpg

Si vous pourriez m'aidez si vous plaît et je serais là si vous avez des questions.

Bon dimanche à vous tous,
cordialement Jiben59.
0
Jiben59 Messages postés 120 Date d'inscription mardi 25 septembre 2012 Statut Membre Dernière intervention 2 janvier 2016 1
4 juin 2013 à 19:16
Toujours personne ?
0