Bonjour à tous,

J'ai crée un form qui permet ensuite à des utilisateurs de saisir des données. En validant, je met à jour la BDD. Pour réaliser ceci, j'ai mis ce code dans le load du form.
Soucis, le fichier .ldb reste présent dans l'explorateur de fichiers. Donc j'en déduis que la base access ne s'est pas refermée. Même en refermant le form, le fichier .ldb persiste.
La conséquence est que tous les autres utilisateurs ne peuvent alors pas se connecter car ils ont un message comme quoi la BDD est indisponible.

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
Private Sub FormCSFACSF_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
 
       sitechoisi = "Domicile"
 
        'chargement noms pour suggestions AF
        MatinCSF.AutoCompleteMode = AutoCompleteMode.Suggest
        MatinCSF.AutoCompleteSource = AutoCompleteSource.CustomSource
        SoireeCSF.AutoCompleteMode = AutoCompleteMode.Suggest
        SoireeCSF.AutoCompleteSource = AutoCompleteSource.CustomSource
        NuitCSF.AutoCompleteMode = AutoCompleteMode.Suggest
        NuitCSF.AutoCompleteSource = AutoCompleteSource.CustomSource
        MatinACSF.AutoCompleteMode = AutoCompleteMode.Suggest
        MatinACSF.AutoCompleteSource = AutoCompleteSource.CustomSource
        SoireeACSF.AutoCompleteMode = AutoCompleteMode.Suggest
        SoireeACSF.AutoCompleteSource = AutoCompleteSource.CustomSource
        NuitACSF.AutoCompleteMode = AutoCompleteMode.Suggest
        NuitACSF.AutoCompleteSource = AutoCompleteSource.CustomSource
 
        Call connection0()
 
        Dim Cmd2 As OleDbCommand
        Dim Dr As OleDbDataReader
        Dim Cn As New OleDbConnection(base1 & base2)
 
        Try
            Cmd2 = New OleDbCommand("Select Nom, Prenom from [Users] where Fonction ='Chef Escale' or Fonction = 'Agent Formation' or Fonction ='Administrateur' or Fonction = 'Cotri' or Fonction='DPX'", Cn)
            Cn.Open()
            Dr = Cmd2.ExecuteReader
            Dim l As New AutoCompleteStringCollection
            While Dr.Read
                'Dim initialeP As String = Dr.GetString(1).Substring(0, 1) & "."
                l.Add(Dr.GetString(0) & " " & Dr.GetString(1))
            End While
            MatinCSF.AutoCompleteCustomSource = l
            SoireeCSF.AutoCompleteCustomSource = l
            NuitCSF.AutoCompleteCustomSource = l
            MatinACSF.AutoCompleteCustomSource = l
            SoireeACSF.AutoCompleteCustomSource = l
            NuitACSF.AutoCompleteCustomSource = l
            Dr.Close()
            Cn.Close()
        Catch ex As Exception
            Cn.Close()
            MsgBox(Err.Description)
        End Try
 
        'Vérification profil et heure pour AF
        Call modifpresence()
 
        'ouverture de la connection (à partir du répertoire de l'application) sur la même ligne      
 
        Try
 
            Call connection8()
            cnxstr = (base1 & base10)
            cnx = New OleDbConnection
            cnx.ConnectionString = cnxstr
 
            cnx.Open()
 
            'Création de la requête sql      
            sql = "select * from Presence where Site = '" & sitechoisi & "' and [Journee] = #" & Format(datedujour, "M/d/yyyy") & "#"
            'Création de la commande et on l'instancie (sql)       
            cmd = New OleDbCommand(sql)
            'Création du dataadapter (dta) et on l'instancie (cmd)      
            dta = New OleDbDataAdapter(cmd)
            'On instancie la commande (cmd) à la connection (cnx)       
            cmd.Connection() = cnx
            'On charge le dataset (dts) grâce à la propriété fill du dataadapter (dta)      
            dta.Fill(dts, "Presence")
            'On charge la datatable (dtt) grâce à la propriété tables du dataset (dts)
            dtt = dts.Tables("Presence")
            '
 
            'SELECTION ET AFFICHAGE
 
            If rownum > dtt.Rows.Count - 1 Then
                'Sortie de procédure         
                pasdedonnee = 1
                Exit Sub
            Else
                If IsDBNull(dtt.Rows(rownum).Item("MatinCSF")) Then
                    Me.MatinCSF.Text = ""
                Else : Me.MatinCSF.Text = dtt.Rows(rownum).Item("MatinCSF")
                End If
                If IsDBNull(dtt.Rows(rownum).Item("SoireeCSF")) Then
                    Me.SoireeCSF.Text = ""
                Else : Me.SoireeCSF.Text = dtt.Rows(rownum).Item("SoireeCSF")
                End If
                If IsDBNull(dtt.Rows(rownum).Item("NuitCSF")) Then
                    Me.NuitCSF.Text = ""
                Else : Me.NuitCSF.Text = dtt.Rows(rownum).Item("NuitCSF")
                End If
                If IsDBNull(dtt.Rows(rownum).Item("MatinACSF")) Then
                    Me.MatinACSF.Text = ""
                Else : Me.MatinACSF.Text = dtt.Rows(rownum).Item("MatinACSF")
                End If
                If IsDBNull(dtt.Rows(rownum).Item("SoireeACSF")) Then
                    Me.SoireeACSF.Text = ""
                Else : Me.SoireeACSF.Text = dtt.Rows(rownum).Item("SoireeACSF")
                End If
                If IsDBNull(dtt.Rows(rownum).Item("NuitACSF")) Then
                    Me.NuitACSF.Text = ""
                Else : Me.NuitACSF.Text = dtt.Rows(rownum).Item("NuitACSF")
                End If
            End If
            cnx.Close()
        Catch ex As Exception
            cnx.Close()
            MsgBox(Err.Description)
        End Try
 
        Label1.Text = "Journée du " & FormatDateTime(Form1.DateTimePicker1.Value.Date, DateFormat.LongDate)
 
 
        Validerpresence.Select()
 
    End Sub
Merci pour vos futurs conseils avisés. Pour info, le ldb disparait uniquement quand je ferme complètement l'application.

Edit : Sur le PC ou j'ai crée la BDD, je n'ai pas par exemple ce genre de soucis. Lorsque je l'ai déposé sur le serveur, çà le fait .....