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:
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
Objectif: Transfert de données d'une table à une autre par le biais de 2 formulaires.Code:
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
Piece jointe
Cordialement.