Problème de suppression de ligne dans ma DB access via VB6

Résolu
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 4 sept. 2007 à 12:52
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 5 sept. 2007 à 12:50
Au risque d'abuser, et de paraitre ridicule , je pose tout de même mon problème, voilà je veux supprimer une ligne de ma base de donne via VB6, problème de 1 il ne me supprime pas la ligne, de deux il ne m'affiche aucun message d'erreur, alors voilà le obut de script sencé supprimer ma ligne :
Private Sub CmdSupp_Click()
'requete suppression des raisons cause sélectionné
Dim NumIdRCFctSel As Integer
NumIdRCFctSel = CInt(CboIDSel.Text)
Requete = "DELETE " & _
          "FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumIdRCFctSel & _
            " "

'resultat interpretation requete
GLB_Jeton_Access.Execute Requete, rdExecDirect

'Réinitialisation des combobox.
CboRCD.Clear
CboRCT.Clear
CboIDSel.Clear

'requete récupération des raisons cause
NumNomFctSel = CInt(Mid(CboFct.Text, 1, 2))
Requete = "SELECT * " & _
          "FROM Raison_Cause " & _
          "ORDER BY Raison_Cause.Rai_Cau_Id "
          
'resultat interpretation requete
Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
With Resultat
    If (Not .EOF) Then
        .MoveFirst
        While (Not .EOF)
'Remplissage des combobox
            CboRCD.AddItem (!Rai_Cau_Description)
            CboRCT.AddItem (!Rai_Cau_Type)
            CboIDSel.AddItem (!Rai_Cau_Id)
            .MoveNext
        Wend
    End If
    .Close
End With
End Sub, ----
(Coloration syntaxique automatique par Kenji)

Merci de votre aide ^^                  

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe

27 réponses

VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 15:06
Attendé, je ... je croi oui oh oui je croi bien que enfin ... ET oui enfin celà marche ... mais c'est suspect je ne croi pas avoir changer quelque chose d'important ... bref voilà le bout de  code qui marche bien ... :
Private Sub CmdSupp_Click()
'requete suppression des raisons cause sélectionné
Dim NumIdRCFctSel As Long
NumIdRCFctSel = CLng(CboIDSel.Text)
Requete = "DELETE * " & _
          "FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumIdRCFctSel & _
            " "
MsgBox NumIdRCFctSel

'resultat interpretation requete
GLB_Jeton_Access.Execute Requete, rdExecDirect

'Réinitialisation des combobox.
CboRCD.Clear
CboRCT.Clear
CboIDSel.Clear

'requete récupération des raisons cause
NumNomFctSel = CInt(Mid(CboFct.Text, 1, 2))
Requete = "SELECT * " & _
          "FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & NumNomFctSel & _
            " " & _
          "ORDER BY Raison_Cause.Rai_Cau_Id "
          
'resultat interpretation requete
Set Resultat = GLB_Jeton_Access.OpenResultset(Requete, rdOpenKeyset)
With Resultat
    If (Not .EOF) Then
        .MoveFirst
        While (Not .EOF)
'Remplissage des combobox
            CboRCD.AddItem (!Rai_Cau_Description)
            CboRCT.AddItem (!Rai_Cau_Type)
            CboIDSel.AddItem (!Rai_Cau_Id)
            .MoveNext
        Wend
    End If
    .Close
End With
End Sub, ----
(Coloration syntaxique automatique par Kenji)

MERCI ENCORE POUR LE TEMPS QUE VOUS AVEZ PASSE A M'AIDER !!!!

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 sept. 2007 à 13:21
Salut,

Avant de lancer ta requête, que te dis :

MsgBox NumIdRCFctSel 


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 13:23
Salut,

De  un :
Requete =  "DELETE  * " & _
          "FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id  = " & NumIdRCFctSel & _
            " "

De deux :
Le plus souvent , quand une requete suppression échoue,
pour une raison ou pour une autre, il n' y a pas de message.
Sauf en cas d' erreur dans la synthaxe, bien sûr.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 sept. 2007 à 13:28
Salut,

Chaibat05 (Salut) >> Pas forcément(sauf erreur de ma part), cela fonctionne aussi sans *

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
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 13:32
Salut Explorer,
Si tu le dis et que t' en ai sûr, c' est que c' est vrai.
J' ai jamais fait autrement .Alors j' ai pensé que ça pourrait être ça.
Mais peut être aussi que le type de champ ne correspond pas.
Par exemple Long au lieu de Integer.
Attendons.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 13:35
ouai ca fonctionne aussi car au debut je l'avais mis, puis j'ai était vérifier ma requète avec easyphp ^^ est il le mette sans *, par qu'elle est implicite en fait si tu la mets pas ...

Exploreur >> Il m'indique bien le numéros d'id de la ligne selectionné dans une de mes combobox !!
Voilà pk je ne comprend pas, mon script et pourtant aC bien foutu

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 sept. 2007 à 13:39
ben..j'utilise cette syntaxe dans ma derniere source...Et je suis partit du principe que le DELETE efface la totalité d'un enregistrement comprenant plusieurs champs...

Je suis d'accord avec toi pour le Long

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
4 sept. 2007 à 13:42
Re,

Essaye ta requête comme ça, défois que..... :

Requete = "DELETE FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id = " & CLng(CboIDSel.Text) & ""

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 13:51
Explorer,
(Pour revenir au *)
c' est que * (tout) ne signifie pas seulement  'un enregistrement comprenant plusieurs champs'
mais aussi tous les enregistrements pour une valeur de champ donnée.
D' ailleur dans une requête Suppression, c' est toute la ligne qui est visée.
On peut pas énumérer les champs comme dans Select ou Update.

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 13:52
Non j'ai que des Integer pour le moment, je ne placerai jamais plus de 100 lignes dans ma table ...
et pour le moment la je tente de supprimer al ligne d'id 24 ....

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 13:56
J'ai tout de même essayé la convertion en long mais tjs rien ...

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 13:57
regardes du coté de GLB_Jeton_Access.Execute Requete, rdExecDirect

tapes
GLB_Jeton_Access.Execute Requete,
et chois un autre argument

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 14:03
Le quel car moi je sais pas utiliser ca, on m'as dit pour executer c ca, et pour lire c rdOpenKeySet une connerie dansle genre, moi je m'y connais pas du tout en access c'est pour ca entre autre que je galère, pareil pour VB c la troisième ou 4ème fois que ej travail avec alors j'ai un peu de mal, dsl

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 14:11
essaies :
GLB_Jeton_Access.Execute Requete,dbFailOnError

ça sert justement à signaler l' erreur.











<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 14:16
bien vue !!
il me sors
Erreur d'execution '40085':
Indicateurs d'options non valides ...

Mais que celà peut il bien vouloir dire !!

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 14:48
j'ai essayé en dure avec :
Requete = "DELETE * " & _
          "FROM Raison_Cause " & _
          "WHERE Raison_Cause.Rai_Cau_Fct_Id = 28 "

'resultat interpretation requete
GLB_Jeton_Access.Execute Requete, dbFailOnError

Tjs le même problème, franchement je commence serieusement à me poser des questions, comment est-ce possible, que'est ce que j'ai bien pus faire de faux, ... faut absolument que je trouve, car demain mon collège va sur site, et si il n'as pas ca, ca craint pour le client ...
MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 14:49
beh c' est pas extraodinaire !
c' est l' option dbFailOnError qui est mise en cause.
Il n' en veut pas.
Remets le  rdExecDirect et cherches l' echec de la suppression ailleurs.
Moi, à part ce qu' on a tenté,je ne vois pas. dsl...

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
4 sept. 2007 à 14:52
Salut,

Essaye comme cela :

Requete = "DELETE * " & _
          "FROM Raison_Cause " & _
          "WHERE Rai_Cau_Fct_Id = 28 "

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
4 sept. 2007 à 15:00
J'ai testé ... mais ca marche tjs pas
Franchement c'est suspect ^^

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 sept. 2007 à 16:43
je ne croi pas avoir changer quelque chose d'important ... ...



>Si !

Dim NumIdRCFctSel As Long
NumIdRCFctSel = CLng(CboIDSel.Text)

ton champ est bien un Long alors !


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
Rejoignez-nous