Erreur d'exeption

Résolu
bernamic Messages postés 2 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 21 février 2010 - 21 févr. 2010 à 01:12
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 21 févr. 2010 à 22:32
je suis nouveau avec vb 2008 et j'ai un problème avec un datagridview et des case a cocher.
dans ma base de donnée Access j'ai des champs oui/nom, quand je ne coche pas une case il me donne une erreur Type de données incompatible dans l'expression du critère.

si je coche toute les cases ca marche bien.

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
21 févr. 2010 à 10:01
Salut,

Peux-tu mettre l'endroit du code qui est en exception.
Le type du champs dans access est-il boolean
et comment est mis à jour la ligne dans access
update ou dataset

Bon dev
3
bernamic Messages postés 2 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 21 février 2010
21 févr. 2010 à 16:08
Voici le code :

La requètte SQL

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim AddSQL As String = "INSERT into " & Champs & " ([No Identification], Evaluatrice, Nom, Prenom, " _
& "Adresse, Ville, [Code Postal], Téléphone, DateNaissance, Origine, Enfants, Nombre, " _
& "Celibataire, Monoparental, Couple, Rente, FaibleRevenue, Chomage, Etudiant, " _
& "InapteTravail, Inscription, Expiration, Remarque) VALUES" _
& " ('" & ListeGrid.Item(1, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(2, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(3, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(4, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(5, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(6, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(7, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(8, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(9, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(10, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(11, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(12, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(13, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(14, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(15, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(16, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(17, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(18, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(19, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(20, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(21, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(22, ListeGrid.CurrentRow.Index).Value & "','" _
& ListeGrid.Item(23, ListeGrid.CurrentRow.Index).Value & "')"
AjouSupMod(addsQL)
End Sub


[b]Le code pour enregistrer dans la BD
/b
Private Sub AjouSupMod(ByVal ObjSQL As String)
cntOuvrir(Chemin)
Dim objCommand As New OleDbCommand(ObjSQL, cn)
objCommand.ExecuteNonQuery()
'Instancer un objet Adapter
Dts.Clear()
Dta = New OleDbDataAdapter(Cmd)
'Avec l'aide de la propriété Fill du DataAdapter charger leDataset()
Dta.Fill(Dts, Champs)
'Mettre dans un Objet DataTable une table du DataSet
Dtt = Dts.Tables(Champs)
Dtv = Dts.Tables(Champs).DefaultView
Dtv.AllowEdit = True
ListeGrid.DataSource = Dtv
ListeGrid.Columns(0).Visible = False
cntFermer()
End Sub

Les champs de la BD

ID = numéro automatique
No Identification = numérique
Evaluatrice,Nom,Preenom,Adresse,Ville,Code Postal, Téléphone, Origine = text
Enfants, Nombre = numérique
DateNaissance = date
Celibataire, Monoparental, Couple, Rente, FaibleRevenue, Chomage, Etudiant,
InapteTravail = oui/nom "Boolean"
Inscription, Expiration = date
Remarque = mémo

Merci pour votre aide.
P/S
quand je coche toute les cases aucun message d'erreur et enregistre dans la BD.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
21 févr. 2010 à 22:32
OK,

C'est normal

Numerique, boolean --> pas de '
Text,Date --> '

Le mieux est de passer par des requetes paramétres
ca évites les problemes de types et de conversions
et pour les chaines de caractéres d'echapement des '

car si tu mettre comme Adresse L'auvergne --> BOOM car il y a une apostrophe

Bon dev
0
Rejoignez-nous