Salut membres du forum !
Toujours très heureux de vous retrouver!
J'aimerais envoyer les informations de tirages de reçus de payements dans une table "INFO_TIRAGE_RECU_PAY_FS".
Jointe la copie de la BD.
A+
Salut membres du forum !
Toujours très heureux de vous retrouver!
J'aimerais envoyer les informations de tirages de reçus de payements dans une table "INFO_TIRAGE_RECU_PAY_FS".
Jointe la copie de la BD.
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
Bonsoir membres du furum !
Je recherche une méthode plus efficace car mes codes suivants ne marchent pas dans ma BD principale.
Ce code ajouté dans le module "Mdu_Scolarite" génère le numéro d'enregistrement "identifiantTirage"
dans la table "INFO_TIRAGE_RECU_PAY_FS".
La procedure qui ramène les infos d'impression de reçus de payements dans la table "INFO_TIRAGE_RECU_PAY_FS"
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 Public Function fNumeroTirage() As Long On Error GoTo OUMAR Dim BD As Database Dim rs As Recordset Set BD = CurrentDb Set rs = BD.OpenRecordset("select * from [INFO_TIRAGE_RECU_PAY_FS] order by identifiantTirage desc;") If rs.EOF Then fNumeroTirage = 0 Else fNumeroTirage = rs.Fields("identifiantTirage") End If Exit Function OUMAR: MsgBox err.description, vbExclamation, err.Number End Function
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 Sub majTableInfosRecus() On Error Resume Next Dim sql As String Dim nbTirage As Integer nbTirage = NbreRecuDejaEdite(Me.numpayementScol) + 1 If RecuDejaImprime(Me.numpayementScol) = False Then sql = "INSERT INTO INFO_TIRAGE_RECU_PAY_FS(identifiantTirage, NumRECU,Date_Tirage,Nombre_Tirage,TypedeRecu,MontantVerse, mlePa,IdEcole) VALUES (fNumeroTirage()+1," & Me.numpayementScol & ",'" & Now() & "',1,'ORIGINAL'," & Me.montantFS_Verse & ", " & Me.mlepa_Enreg_ParResp & ", " & Me.ID_EtablissFreq & " );" DoCmd.RunSQL (sql) Else sql = "INSERT INTO INFO_TIRAGE_RECU_PAY_FS(identifiantTirage, NumRECU,Date_Tirage,Nombre_Tirage,TypedeRecu,MontantVerse, mlePa,IdEcole) VALUES (fNumeroTirage()+1," & Me.numpayementScol & ",'" & Now() & "'," & nbTirage & ",'DUPLICATA'," & Me.montantFS_Verse & ", " & Me.mlepa_Enreg_ParResp & ", " & Me.ID_EtablissFreq & " );" DoCmd.RunSQL sql End If 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 Public Function NbreRecuDejaEdite(intRecu As Long) As Integer On Error GoTo OUMAR Dim BD As Database Dim rs As Recordset Set BD = CurrentDb Set rs = BD.OpenRecordset("select * from [INFO_TIRAGE_RECU_PAY_FS] where NumRECU = " & intRecu & " order by Date_Tirage desc;") If rs.EOF Then NbreRecuDejaEdite = 0 Else NbreRecuDejaEdite = rs.Fields("Nombre_Tirage") End If Exit Function OUMAR: MsgBox err.description, vbExclamation, err.Number End FunctionMerci encore une fois de bien vouloir m'aider.
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 Public Function RecuDejaImprime(intRecu As Long) As Boolean On Error GoTo OUMAR Dim BD As Database Dim rs As Recordset Set BD = CurrentDb Set rs = BD.OpenRecordset("select * from [INFO_TIRAGE_RECU_PAY_FS] where NumRECU = " & intRecu & ";") If rs.EOF Then RecuDejaImprime = False Else RecuDejaImprime = True End If Exit Function OUMAR: MsgBox err.description, vbExclamation, err.Number End Function
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
Salut Membres du forum !
Grâce à ce code, j'ai découvert mon erreur qui était liée à une ambiguïté de la fondation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2currentdb.execute SQL, dbfailonerror permet de lever une erreur qu'on peut ensuite traiter pour savoir ce qui a posé problème
dans ma bd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part fNumeroTirage
Remarque: à défaut de ne pouvoir se passer des objets tels-queou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DoCmd.SetWarnings False DoCmd.SetWarnings True, il faudrait les mettre en commentaire afin que le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part On Error Resume Nextpuisse réagir après la ligne de code sql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part currentdb.execute SQL, dbfailonerror
Merci infiniment à toute la famille développez.net et particulièrement à nico84 qui m'a fait découvrir son code magnifiquehttps://www.developpez.net/forums/d2...procedure-sub/.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager