Candidate-7-Pro/FrmEdit.vb

109 lines
4.5 KiB
VB.net

Public Class FrmEdit
Dim selectedID As Integer
Private Sub FrmEdit1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RBId.Checked = True REM "Check par défaut" au chargement.
'Selectedclef = FrmAccueil.IDlu
Call generator(CBNP) REM Contruit la liste des candidats NON supprimés a partir du tableau d'index.
End Sub
Private Sub CmdAnnul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAnnul.Click
Me.Close() REM On close pour réinitialiser. Peut-être on programmera une fonction pour reset plus vite, mais on remplacera par des hides. Plus dangereux a programmer.
FrmAccueil.Show()
End Sub
REM SUPPRIMER LE CANDIDAT
Private Sub CmdDelet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdDelet.Click
Dim state As Integer
If detecterreur() Then
state = MsgBox("Voulez-vous réelement supprimer le candidat n° " & Format(selectedID, "00") & " ?", MsgBoxStyle.Question & MsgBoxStyle.YesNo, "Confirmation de la supression")
If state = vbYes Then
Call SupprBdD(selectedID)
Me.Close()
FrmAccueil.Show()
End If
End If
End Sub
Private Sub CmdNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdNext.Click
If detecterreur() Then Call PrepareNext(selectedID)
End Sub
Function detecterreur() As Boolean
Dim ok = False
If RBId.Checked Then
If TxtId.Text = "" Then REM Obligation de tester la présence de chiffre avant affectation.
MsgBox("La saisie du numéro d'inscription n'a pas été effectuée.", MsgBoxStyle.Exclamation, "Champ vide")
TxtId.Focus()
Else
selectedID = TxtId.Text
If selectedID >= ClefMAX Or selectedID <= 1 Then REM regarde si le numéro du candidat est bien déjà existant.
MsgBox("L'identifiant que vous avez saisie n'est pas valide.", MsgBoxStyle.Exclamation, "Candidat introuvable")
TxtId.Focus()
Else
If Tindex(selectedID - 2).Suppr Then REM Il faut aussi vérifier que c'est un candidat non supprimé.
MsgBox("Ce candidat a été supprimé.", MsgBoxStyle.Exclamation, "Candidat indisponible")
TxtId.Focus()
Else
ok = True
End If
End If
End If
ElseIf RBNP.Checked Then
If CBNP.SelectedIndex <> -1 Then REM Via le CBox
If IsNumeric(Microsoft.VisualBasic.Right(CBNP.SelectedItem, 2)) Then
selectedID = Microsoft.VisualBasic.Right(CBNP.SelectedItem, 2)
End If
ok = True
End If
End If
Return ok
End Function
Sub PrepareNext(ByVal clef As Integer)
FileGet(nf, cddts, clef)
Selectedclef = clef
Me.Hide() REM On utilise hide pour naviger entre les feuilles sans devoir modifier la BdD, le bouton "MaJ" a la dernière feuille (Input3) enregistrera tout les modifications.
FrmInput1.Show()
End Sub
REM Fonctionne comme ca par defaut.
'Private Sub RBId_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RBId.CheckedChanged, RBNP.CheckedChanged
' If RBId.Checked Then
' RBNP.Checked = False
' End If
' If RBNP.Checked Then
' RBId.Checked = False
' End If
'End Sub
Private Sub CBNP_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBNP.GotFocus
RBNP.Checked = True REM Permet de "checker" le ratiobox correspondant au focus (On veut choisir son nom dans une GRrB).
End Sub
Private Sub TxtId_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtId.GotFocus
RBId.Checked = True REM Permet de "checker" le ratiobox correspondant au focus (On veut enter l'ID du candidat).
End Sub
Private Sub TxtId_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtId.KeyPress
If e.KeyChar = vbBack Then
Exit Sub
End If
If e.KeyChar < "0" Or e.KeyChar > "9" Then REM On peut utiliser aussi Not IsNumeric(<Objet>)
e.KeyChar = Chr(0)
End If
End Sub
End Class