Requête

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 23 mai 2007 à 16:44
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 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 ?

Merci d'avance.
A+
Exploreur

 Linux a un noyau, Windows un pépin

 

12 réponses

Big200148 Messages postés 149 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 23 juillet 2009
23 mai 2007 à 16:55
Essaie de le faire avec un LIKE à la place du =
Mais ce n'est qu'une idée
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
23 mai 2007 à 17:01
Salut,
complémént de réponse:
LIKE '" & Trim(Rep) &...
si toute fois rep est purement...String

<hr />. 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 mai 2007 à 17:02
Salut,

Ben j'essaye ce soir(car là fini boulot) et on verra bien....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 mai 2007 à 17:03
Bonsoir,

Oui, Rep est purement String >> "Pièces détachées"

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
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.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
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.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
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. 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
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

End Function


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
24 mai 2007 à 09:04
Salut,

pour ma part, je te proposerais de remplacer le  = par 2 like. Un pour le "pieces" et l'autre pour "détachés" avec un opérateur AND.

Il est aussi possible de remplacer la clause WHERE par une clause GROUP BY et HAVING.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
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...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 mai 2007 à 10:07
Salut,

bon je pense avoir trouvé...Je reviens vers vous pour vous le dire aprés mes essais....C'est encore un truc tout " Bip"....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
24 mai 2007 à 10:12
Salut,

Ne vous embêtez plus à chercher, j'ai trouver le problème qui est vraiment " Bip"....

J'ose même pas le dire tellement c'est bête..

C'est mon VbProperCase qui m'embêter...le vilain...

Merci à tous de votre participation..

A bientôt..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Rejoignez-nous