Incrementation sur la base du dernier enregistrement

germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 - 15 juil. 2011 à 12:18
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 - 15 juil. 2011 à 22:12
Bonjour,
j'ai une BD access et je veux incrémenter sur la base du dernier enregistrement pour cela j'ai pas de probléme que la base de données contienne des enregistrements.
mais quand la BD est vide je recontre ce bug dans la ligne rouge.

Dim conn As OleDbConnection New OleDbConnection("provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\BD.mdb;")
Dim cmd As OleDbCommand = conn.CreateCommand()
cmd.CommandText "SELECT MAX (ID) FROM enfant where NOM'" & Me.TextBox1.Text & "'"
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader()
Do While dr.Read()
Me.TextBox2.Text() = dr.GetInt32(0)
If (Integer.Parse(TextBox2.Text) < 14) Then
TextBox2.Text = Integer.Parse(TextBox2.Text) + 1
End If
Loop
dr.Close()
conn.Close()

voilà l'erreur qui s'affiche "Le cast spécifié n'est pas valide."


merci pour votre aide

5 réponses

ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
15 juil. 2011 à 12:59
Bonjour,

Be serait-ce pas avec les parenthèses et le (Me = par défaut sur la même form) en moins :

TextBox2.Text = dr.GetInt32(0)

?

Cordialement.

Joe.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 juil. 2011 à 13:26
Bonjour,
Commence par identifier la cause.
Pour t'y aider :
Lis et utilise ce qui t'est dit ici par MicroMachin

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 159
15 juil. 2011 à 13:54
Bonjour,

Quand tu utilises un champ qui peut être à Null, il faut d'abord vérifier si sa valeur a été définie, dans ce cas, il faut tester si dr.GetValue(0) est de type DBNull.
J'ai déjà rencontré ce pb.

Sinon, penses aussi à activer Option Strict.

Mon site
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
15 juil. 2011 à 16:05
Bonjour,
comment tester dr.GetValue(0) est DBNull.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15117 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 10 mai 2024 159
15 juil. 2011 à 22:12
Bonjour,

If typeof dr.GetValue(0) Is DBNull Then

Mon site
0
Rejoignez-nous