Probleme datagrid affichage
Bonjour a tous,
Voila j'ai deja posté pour une aide sur access et maintenant que tout marche parfaitement, j'ai un probleme pour un affichage dans mon datagrid.
Je peux afficher les données de ma table dans mon datagrid au chargement du formulaire, mais quand j'utilise un textbox pour faire un affichage precis, j'ai a chaque fois des erreurs.
Chargement du formulaire (tout fonctionne) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cnn As New OleDbConnection 'Connexion à la base de données
Dim cmd As New OleDbCommand 'Commande requête
Dim drr As OleDbDataReader 'Jeu d'enregistrements
Dim existenreg As Boolean
'Connexion à la base de données annuaire sous ACCESS
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\archivesCD.mdb"
cnn.Open()
'Requête SQL
cmd.CommandText = "SELECT * FROM Archivage"
cmd.Connection = cnn
'Exécution de la requête et récupération du résultat sous forme d'un jeu d'enregistrements dans drr
drr = cmd.ExecuteReader()
GrdArchive.ColumnCount = 6
GrdArchive.Rows.Clear()
existenreg = drr.Read 'Lecture du premier enregistrement
While existenreg 'Parcours des enregistrements
GrdArchive.Rows.Add(drr("ID"), drr("NumAffaire"), drr("Année"), drr("Client"), drr("NumCd"), drr("Observations")) 'Ajout de l'enregistrement dans le DataGridView
existenreg = drr.Read 'Lecture de l'enregistrement suivant
End While
drr.Close()
cnn.Close()
End Sub |
_______
Afficher le n° d'affaire tapé dans le textbox prevu a cet effet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub BtnAff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAff.Click
Dim cnn As New OleDbConnection 'Connexion à la base de données
Dim cmd As New OleDbCommand 'Commande requête
Dim drr As OleDbDataReader 'Jeu d'enregistrements
Dim existenreg As Boolean
'Connexion à la base de données annuaire sous ACCESS
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\archivesCD.mdb"
cnn.Open()
'Requête SQL
cmd.CommandText = "SELECT * FROM Archivage WHERE NumAffaire=" & TxtAff.Text & "'"
cmd.Connection = cnn
'Exécution de la requête et récupération du résultat sous forme d'un jeu d'enregistrements dans drr
drr = cmd.ExecuteReader()
GrdArchive.ColumnCount = 6
existenreg = drr.Read 'Lecture du premier enregistrement
While existenreg 'Parcours des enregistrements
GrdArchive.Rows.Add(drr("NumAffaire"), drr("Année"), drr("Client"), drr("NumCd"), drr("Observations")) 'Ajout de l'enregistrement dans le DataGridView
existenreg = drr.Read 'Lecture de l'enregistrement suivant
End While
drr.Close()
cnn.Close() |
____
la j'ai une erreur, j'ai fait un screen :
http://nsa29.casimages.com/img/2012/...3517480966.png
et j'ai a peu pres la meme erreur si je veux un n° de cd precis, une année precise, un client precis.
Je sens que sa vient de mon SELECT, mais je ne sais pas quoi tenter. Si vous avez une idée, je prends :)
Merci.