PDA

Afficher la version complète : Cthi problème vb+sql...



zurg
19/05/2004, 16h05
Bonjour à tous,
alors voilà, je développe une petite interface de saisie sous VB 6.0 et j\'utilise Access 2000 pour la base de données.
Je voudrais faire un UPDATE sur une table lorsqu\'on clique sur un bouton, voici le code de l\'évènement :


Private Sub Command2_Click()
Dim client As String
Dim num As Integer
Dgrille.Col = 0
client = DCtype.Text
num = Dgrille.Text

If (MsgBox(\"Etes-vous sûr ?\", vbYesNo, \"Black List\") = vbYes) Then
Select Case client
Case \"client particulier\"
MsgBox client
MsgBox num
cnn.Execute (\"UPDATE clients_particuliers SET black_list=0 WHERE numClientPart = \'\" & CInt(num) & \"\'\")
MsgBox \"Ce contact a bien été mis en Black List, vous pourrez le supprimmer de cette liste en ouvrant la fenêtre Black List\", vbInformation + vbExclamation, \"Black Listage...\"
Exit Sub
Case \"client institutionnel\"
\' pas fait les autres cas encore...
Case \"client entreprise\"
Case \"élève\"
End Select
End If
End Sub

Il faut savoir que dans ma base, le champ black_list de la table clients_particuliers est de type booléen, au format VRAI/FAUX.

A l\'exécution, j\'obtiens un message d\'erreur du genre : \"erreur d\'execution (blabla...) type de donnée incompatible dans l\'expression du critère\"

Bref, je vois pas trop ce qui cloche, snif snif...

Si quelqu\'un a la bonté d\'âme d\'éclairer ma lanterne...

Merci d\'avance,
et bon code !

zeb
20/05/2004, 22h54
SET black_list=\"Oui\" ou alors SET black_list=Oui

donne des nouvelles si c\'est pas cela

Kernings
20/05/2004, 23h03
essai aussi ça ...

cnn.Execute (\"UPDATE clients_particuliers SET black_list=0 WHERE numClientPart = \" + num )

vu que ton champs numClientPart est numerique tu n\'as pas besoin des \' , est tu sur que ça viens du champs boolean ?

zurg
21/05/2004, 11h47
Salut à vous,
merci de m\'avoir répondu.

Zeb -> j\'ai essayé avec SET black_list=Oui, nouveau message d\'erreur : \"Trop peu de paramètres : 1 attendu\"

J\'essaie la seconde solution, et je vous donne des news...
merci...

EDIT ->
cnn.Execute (\"UPDATE clients_particuliers SET black_list=0 WHERE numClientPart = \" + num )
ne marche pas : \"Type incompatible\"

Et non, je ne suis pas sur que ce soit le booléen qui pose problème, mais je ne vois que ça...

zurg
21/05/2004, 12h05
Ayé, zé trouvé !!

En fait, le problème se situait au niveau de la valeur du champ black_list : il fallait mettre SET black_list=true

Pour les bolléens, quel que soit le format (oui/non, vrai/faux...), la valeur à utiliser, c\'est TRUE ou FALSE

Merci en tout cas de m\'avoir répondu...et sûrement à bientôt !

PS: d\'ailleurs, j\'aurai d\'autres questions à poser mais c\'est un autre sujet qu\'il faut ouvrir je crois...