Connexion BDD reste ouverte, fichier .ldb
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:
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 .....