bonjour, je crée une application destiné à des préleveurs d'échantillons d'eau.

Leur points de prélèvements à effectués d'après une liste de points (situées dans mon application dans un fichier simple .txt)

je suis en train de créer un interface d'administration qui permet entre autre d'ajouter un point.

Pour cela l'utilisateur entre le code du nouveau point dans une textbox.

Je lance une recherche de ce même code, s'il existe deja dans la liste, un message s'affiche et le code n'est pas créé.
S'il ne l'ai pas alors il est enregistré.

Mon problème c'est qu'il n'ouvre qu'une fois mon fichier, donc si le code n'existe pas pas de problème.
Mais si je réenchaine par un autre point c'est foutu... ou je peux plus ecrire si le code n'existe pas


comment fermer le processus? ou comment contourner ce problème?

voici mon code:

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
Imports System.IO
 
Public Class Ajout_PSV
 
    Dim recherche As Boolean = False
 
    Dim codepsv As String
 
 
    Sub RecherchePSV()
 
        Dim sr As New StreamReader("\My Documents\aip_ressources\2007.txt")
        Dim AnalyseChaine As String
        Dim uneligne As String
        Do
            uneligne = sr.ReadLine()
            If Not uneligne Is Nothing Then
                AnalyseChaine = uneligne.IndexOf(";" + codepsv + ";")
                If AnalyseChaine >= 0 Then MsgBox("Ce code existe déjà") : recherche = True
            Else
                recherche = False
 
            End If
 
        Loop Until (uneligne Is Nothing)
        sr.Close()
 
    End Sub
 
    Private Sub Button_Valider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Valider.Click
 
        codepsv = Box_Code_PSV.Text
 
        If Box_Code_PSV.Text = ("") Then
            MsgBox("Aucun code PSV n'a été rentré", MsgBoxStyle.Critical, "Erreur")
        Else
            RecherchePSV()
 
            Dim sw As New StreamWriter("\My Documents\aip_ressources\2007.txt", True)
 
            If recherche Then
                sw.Write(";")
                sw.Write(Box_Code_PSV.Text)
                sw.Write(";")
                sw.Write(Box_Commune.Text)
                sw.Write(";")
                sw.Write(Box_Type_Installation.Text)
                sw.Write(";")
                sw.Write(Box_Payeur.Text)
                sw.Write(";")
                sw.Write(Box_Installation.Text)
                sw.Write(";")
                sw.Write(Box_Nom_PSV.Text)
                sw.Write(";")
                sw.Write(Box_Lieu_PSV.Text)
                sw.Write(";")
                sw.Write(Box_Type_Eau.Text)
                sw.Write(";")
                sw.Write(Box_Responsable.Text)
                sw.Write(";")
 
                If CheckBox_Eau.Checked = True Then
                    sw.Write("oui")
                    sw.Write(";")
                Else
                    sw.Write("non")
                    sw.Write(";")
                End If
 
                If CheckBox_Option.Checked = True Then
                    sw.Write("oui")
                    sw.Write(";")
                Else
                    sw.Write("non")
                    sw.WriteLine(";")
                End If
                sw.Close()
                MsgBox("PSV ajouté")
                AIP.Show()
            End If
        End If
    End Sub
 
 
End Class
merci de votre aide