Erreur d'exeption

Résolu
Signaler
Messages postés
2
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
21 février 2010
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
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.
A voir également:

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
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
Messages postés
2
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
21 février 2010

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.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
36
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