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+
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.
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.
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