cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
23 mai 2007 à 16:44
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
24 mai 2007 à 10:12
Bonsoir à tous,
Vla...vla..J'ai un petit souçi de requête !!!
J'ai un combo, ou ce trouve des items, qui peuvent être comme :
- Toto
ou
- Pièces détachées
J'utilise cette requête pour effacer dans ma table :
Sql "DELETE FROM " & MyTable & " WHERE " & MyChamp & " '" & Rep & "'"
Rep, est issue d'une InputBox, qui récupère ce que l'utilisateur a saisie...
Tous ce pas pour le mieux quand j'efface Toto, par contre quand il y a un espace dans l'item, ben, il n'y a rien qui se passe!!!
Auriez-vous une piste que je puisse suivre pour arriver à destination ?
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 23 mai 2007 à 17:16
Salut,
Curieux comportement, car avec le champ entouré par des quotes, qu'il y ait ou non un espace, la BDD accepte la requête (testé à l'instant).
Rep serait-il un répertoire ? Si oui, voir du côté des caractères d'échappement engendrés par les slashes.
Obtiens-tu des résultats différents avec "Piècesdétachées" et "Pièces détachées" ?
Peux-tu faire un MsgBox de la requête problématique juste avant son exécution et nous la copier ici ?
Merci
Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 23 mai 2007 à 17:17
Arf zut ... pas vu ta réponse précédente.
Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 23 mai 2007 à 17:18
Alors :
Sql = "DELETE FROM " & MyTable & " WHERE (" & _
Trim('" & MyChamp & "')) LIKE '" & Trim(Rep) & "'"
PS:
Rep est purement String >> "Pièces détachées
Pas forcément et pas évident car il peut tout aussi bien s' agir
d' un Identifiant de type autre que String...
<hr />® l l i n g , l' agité du bocal :
Etre une heure, une heure seulement..Rien qu' une heure,
Vert, vert, vert et beau à la foooooooooooooooooooooooois.
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 24 mai 2007 à 08:46
Bonjour à tous,
Bon je n'aie pas pu essayer hier soir, car j'ai eu un petit souçi hier soir...
J'ai essayé et cela ne fonctionne pô ! Dés qu'il y a une espace il ne le trouve pas, voici ci-dessous complet de ma function, si vous pouvez m'aidé, merci d'avance...
Je continue aussi de mon côté à chercher, bien sur...
Private Function DeleteItem(MyTable As String, MyChamp As String, MyCombo As ComboBox)
' Variable définition texte
Dim Msg As String
' On verifie les droits utilsateur
If Not Var_Droits >= 3 Then
' Définition du text
Msg = "Vous n'avez pas les droits nécessaire pour" & vbCrLf & _
"effecuter cette action " & Var_Nom & " " & Var_Prénom & "." & vbCrLf & vbCrLf
' Affichage
MessageBox Me.hwnd, Msg, "Information utilisateur", vbExclamation Or vbOKOnly
' On sort
Exit Function
End If
' Variable résultat boite de saisie(InputBox)
Dim Rep As String
Rep = StrConv(InputBox("Saisissez la société à supprimer..", "Supprimer une société dans base"), vbProperCase)
' Appui sur Annuler et ok sans aucune saisie If Rep vbNullString And StrPtr(Rep) <> 0 Or Rep vbNullString And StrPtr(Rep) = 0 Then
Exit Function
End If
' Vérifie dans le combo si la société existe
Dim Boucle As Integer, bFound As Boolean
For Boucle = 0 To MyCombo.ListCount - 1 If Rep MyCombo.List(Boucle) Then bFound True: Exit For
Next Boucle
If bFound Then
' Préparation de la requête Sql "DELETE FROM " & MyTable & " WHERE " & MyChamp & " '" & Rep & "'"
' Lancement de la requête & mise à jour combo
If Execute_Sql Then
Msg = "Supprésion de : " & Rep & " réussie"
MessageBox Me.hwnd, Msg, "Information utilisateur", vbInformation Or vbOKOnly
' On fait la mise à jour combo
' par rapport au choix de l'utilisateur
Select Case MyTable
Case "Société"
ChargeCombo ("Société"), Cmb_options(0), MnuSuppSoc
Case "Désignation"
ChargeCombo ("Désignation"), Cmb_options(1), MnuSuppDés
Case "Transporteur"
ChargeCombo ("Transporteur"), Cmb_options(2), MnuSuppTra
Case "délai"
ChargeCombo ("Délai"), Cmb_options(3), MnuSuppDél
End Select
' On sort
Exit Function
Else
Msg = "Une erreur est survenue pendant la tentative de suppression." & vbCrLf & _
"Suppression non effectuée !" & vbCrLf & vbCrLf
End If
Else
Msg = "Interruption de la suppression." & vbCrLf & _
"Il se peut que la " & MyTable & " n'existe plus dans la base." & vbCrLf & vbCrLf
End If
' Affichage message
If LenB(Msg) Then MessageBox Me.hwnd, Msg, "Information utilisateur", vbExclamation Or vbOKOnly
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 24 mai 2007 à 09:51
Salut,
Je viens de m'appercevoir d'un truc, c'est que déjà dans la boucle For..Next..il ne le trouve pas, donc ce n'est pas la requête...alors j'ai essayé avec un Trim, c'est pareil...