Bonjour
J'ai programmé un petit logiciel en VB.net sans prétention pour gerer des enregistrement dans une base de données en access 2003.
Débutant dans la prog, j'ai récupéré un bout de code sur le net avec un module pour se connecter à la base access.
module1.vb
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 Imports System.Data.OleDb Module Module1 Public acsconn As New OleDb.OleDbConnection Public acscdr As OleDbDataReader Public strsql As String Sub connect() acsconn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source= d:\base.mdb;" acsconn.Open() End Sub End Module
et le form1.vb
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 Public Class Form1 'combo NOM Sub fillcomboNom() strsql = "select distinct (nom) from membres order by nom" Dim acscmd As New OleDb.OleDbCommand acscmd.CommandText = strsql acscmd.Connection = acsconn acscdr = acscmd.ExecuteReader While (acscdr.Read()) ComboBoxNom1.Items.Add(acscdr("nom")) End While acscmd.Dispose() acscdr.Close() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Module1.connect() Me.fillcomboNom() End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxNom1.SelectedIndexChanged strsql = "select * from membres where nom='" & ComboBoxNom1.Text & "'" Dim acscmd As New OleDb.OleDbCommand acscmd.CommandText = strsql acscmd.Connection = acsconn acscdr = acscmd.ExecuteReader If (acscdr.Read() = True) Then TextBox1.Text = (acscdr("Prénom")) TextBox2.Text = (acscdr("Adresse1")) End If acscmd.Dispose() acscdr.Close() End Sub End Class
Tout va bien, quand je change la valeur dans le combobox, le TextBox1 et le TextBox2 se remplissent bien avec le prénom et l'adresse récupérées dans la base de données.
Par contre, s'il arrive qu'un champ de la base de données soit vide, le logiciel se plante.
Il y a peut être une exception à gérer, mais de quelle façon ?
Merci de votre aide pour un newbie
Partager