RsLangues.open "parler_langues", Mconnect, AdOpenDynamic, adLockOptimistic,
adCmdTable
RsLangues.MoveFirst
Do While Not RsLangues.Eof
If RsLangues!ID_Personne = RefCandidat then
RsLangues.Delete
End If
TRsLangues.MoveNext
Loop
cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000
enregistrement
alors qu'avec une requete du style
StrRequete= "Select * From parler_langues where ID_PERSONNE= '" +
RefCandidat + "'"
RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic,
adCmdText
RsLangues.MoveFirst
Do While Not RsLangues.Eof
If RsLangues!ID_Personne = RefCandidat then
RsLangues.Delete
End If
TRsLangues.MoveNext
Loop
eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant
" Information sur la colonne clé insuffisante pour la mise a jour ou le
rafraichissement "
je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir
donc cela marche avec la table entiere mais pas une requete surprenant
je suis pret a prendre toute les explication pour accelerere cette fonction
adCmdTable RsLangues.MoveFirst Do While Not RsLangues.Eof If RsLangues!ID_Personne = RefCandidat then RsLangues.Delete End If TRsLangues.MoveNext Loop
cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000 enregistrement alors qu'avec une requete du style StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + RefCandidat + "'" RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, adCmdText RsLangues.MoveFirst Do While Not RsLangues.Eof If RsLangues!ID_Personne = RefCandidat then RsLangues.Delete End If TRsLangues.MoveNext Loop
eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant " Information sur la colonne clé insuffisante pour la mise a jour ou le rafraichissement " je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir
donc cela marche avec la table entiere mais pas une requete surprenant je suis pret a prendre toute les explication pour accelerere cette
fonction
merci a tous
Quel est le but ? Cela ressemble à une requête DELETE :
DELETE FROM Parler_langues WHERE ID_personne=<valeur>
Patrice
--
"gerard" <gerard.v@wanadoo.fr> a écrit dans le message de
news:btgb53$u4k$1@news-reader4.wanadoo.fr...
adCmdTable
RsLangues.MoveFirst
Do While Not RsLangues.Eof
If RsLangues!ID_Personne = RefCandidat then
RsLangues.Delete
End If
TRsLangues.MoveNext
Loop
cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000
enregistrement
alors qu'avec une requete du style
StrRequete= "Select * From parler_langues where ID_PERSONNE= '" +
RefCandidat + "'"
RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic,
adCmdText
RsLangues.MoveFirst
Do While Not RsLangues.Eof
If RsLangues!ID_Personne = RefCandidat then
RsLangues.Delete
End If
TRsLangues.MoveNext
Loop
eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant
" Information sur la colonne clé insuffisante pour la mise a jour ou le
rafraichissement "
je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir
donc cela marche avec la table entiere mais pas une requete surprenant
je suis pret a prendre toute les explication pour accelerere cette
adCmdTable RsLangues.MoveFirst Do While Not RsLangues.Eof If RsLangues!ID_Personne = RefCandidat then RsLangues.Delete End If TRsLangues.MoveNext Loop
cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000 enregistrement alors qu'avec une requete du style StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + RefCandidat + "'" RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, adCmdText RsLangues.MoveFirst Do While Not RsLangues.Eof If RsLangues!ID_Personne = RefCandidat then RsLangues.Delete End If TRsLangues.MoveNext Loop
eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant " Information sur la colonne clé insuffisante pour la mise a jour ou le rafraichissement " je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir
donc cela marche avec la table entiere mais pas une requete surprenant je suis pret a prendre toute les explication pour accelerere cette
fonction
merci a tous
gerard
salut oui je veux effectivement supprimer les enregistrement en fonction de la valeur, mais il m'est impossible de le faire depuis mon recordset issue de ma requete, la requete delete n'est possible que depuis la table et cela est long...( travaille sur + de 15000 enregistrements) est il possible de supprimmer tous les enregistrement de mon recordset ( travaille sur 4 enregistrements) car dans mon idée c'est la meme chose....
merci "Patrice Scribe" a écrit dans le message de news:%
Quel est le but ? Cela ressemble à une requête DELETE :
DELETE FROM Parler_langues WHERE ID_personne=<valeur>
Patrice
--
"gerard" a écrit dans le message de news:btgb53$u4k$ > salut > j'ai trouvé une solution > > RsLangues.open "parler_langues", Mconnect, AdOpenDynamic, adLockOptimistic, > adCmdTable > RsLangues.MoveFirst > Do While Not RsLangues.Eof > If RsLangues!ID_Personne = RefCandidat then > RsLangues.Delete > End If > TRsLangues.MoveNext > Loop > > cela fonctionne, mais cela prend du temps car elle passe en revue mes
3000
> enregistrement > alors qu'avec une requete du style > StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + > RefCandidat + "'" > RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, > adCmdText > RsLangues.MoveFirst > Do While Not RsLangues.Eof > If RsLangues!ID_Personne = RefCandidat then > RsLangues.Delete > End If > TRsLangues.MoveNext > Loop > > eh bien a l'instruction RsLangues.Delete ca plante avec le message
suivant
> " Information sur la colonne clé insuffisante pour la mise a jour ou le > rafraichissement " > je ne comprend pas alors que la il n'y a que 4 enregistrement a
parcourir
> > donc cela marche avec la table entiere mais pas une requete surprenant > je suis pret a prendre toute les explication pour accelerere cette fonction > > merci a tous > >
salut
oui je veux effectivement supprimer les enregistrement en fonction de la
valeur,
mais il m'est impossible de le faire depuis mon recordset issue de ma
requete,
la requete delete n'est possible que depuis la table et cela est long...(
travaille sur + de 15000 enregistrements)
est il possible de supprimmer tous les enregistrement de mon recordset (
travaille sur 4 enregistrements)
car dans mon idée c'est la meme chose....
merci
"Patrice Scribe" <nobody@nowhere.com> a écrit dans le message de
news:%23pA7FfP1DHA.560@TK2MSFTNGP11.phx.gbl...
Quel est le but ? Cela ressemble à une requête DELETE :
DELETE FROM Parler_langues WHERE ID_personne=<valeur>
Patrice
--
"gerard" <gerard.v@wanadoo.fr> a écrit dans le message de
news:btgb53$u4k$1@news-reader4.wanadoo.fr...
> salut
> j'ai trouvé une solution
>
> RsLangues.open "parler_langues", Mconnect, AdOpenDynamic,
adLockOptimistic,
> adCmdTable
> RsLangues.MoveFirst
> Do While Not RsLangues.Eof
> If RsLangues!ID_Personne = RefCandidat then
> RsLangues.Delete
> End If
> TRsLangues.MoveNext
> Loop
>
> cela fonctionne, mais cela prend du temps car elle passe en revue mes
3000
> enregistrement
> alors qu'avec une requete du style
> StrRequete= "Select * From parler_langues where ID_PERSONNE= '" +
> RefCandidat + "'"
> RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic,
> adCmdText
> RsLangues.MoveFirst
> Do While Not RsLangues.Eof
> If RsLangues!ID_Personne = RefCandidat then
> RsLangues.Delete
> End If
> TRsLangues.MoveNext
> Loop
>
> eh bien a l'instruction RsLangues.Delete ca plante avec le message
suivant
> " Information sur la colonne clé insuffisante pour la mise a jour ou le
> rafraichissement "
> je ne comprend pas alors que la il n'y a que 4 enregistrement a
parcourir
>
> donc cela marche avec la table entiere mais pas une requete surprenant
> je suis pret a prendre toute les explication pour accelerere cette
fonction
>
> merci a tous
>
>
salut oui je veux effectivement supprimer les enregistrement en fonction de la valeur, mais il m'est impossible de le faire depuis mon recordset issue de ma requete, la requete delete n'est possible que depuis la table et cela est long...( travaille sur + de 15000 enregistrements) est il possible de supprimmer tous les enregistrement de mon recordset ( travaille sur 4 enregistrements) car dans mon idée c'est la meme chose....
merci "Patrice Scribe" a écrit dans le message de news:%
Quel est le but ? Cela ressemble à une requête DELETE :
DELETE FROM Parler_langues WHERE ID_personne=<valeur>
Patrice
--
"gerard" a écrit dans le message de news:btgb53$u4k$ > salut > j'ai trouvé une solution > > RsLangues.open "parler_langues", Mconnect, AdOpenDynamic, adLockOptimistic, > adCmdTable > RsLangues.MoveFirst > Do While Not RsLangues.Eof > If RsLangues!ID_Personne = RefCandidat then > RsLangues.Delete > End If > TRsLangues.MoveNext > Loop > > cela fonctionne, mais cela prend du temps car elle passe en revue mes
3000
> enregistrement > alors qu'avec une requete du style > StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + > RefCandidat + "'" > RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, > adCmdText > RsLangues.MoveFirst > Do While Not RsLangues.Eof > If RsLangues!ID_Personne = RefCandidat then > RsLangues.Delete > End If > TRsLangues.MoveNext > Loop > > eh bien a l'instruction RsLangues.Delete ca plante avec le message
suivant
> " Information sur la colonne clé insuffisante pour la mise a jour ou le > rafraichissement " > je ne comprend pas alors que la il n'y a que 4 enregistrement a
parcourir
> > donc cela marche avec la table entiere mais pas une requete surprenant > je suis pret a prendre toute les explication pour accelerere cette fonction > > merci a tous > >
Patrice Scribe
Si tu utilises :
StrRequete= "Delete From parler_langues where ID_PERSONNE= '" + RefCandidat + "'"
Au lieu de :
StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + RefCandidat + "'"
(exécute là directement via la connexion ou un objet Command).
Qu'est ce que cela donne ? Je pense qu'il est préférable d'envoyer la requête SQL de destruciton directement plutôt que de sélectionner les données dans un recordset avant de les détruire via ADO.
Patrice
--
"gerard" a écrit dans le message de news:btgn26$mb4$
salut oui je veux effectivement supprimer les enregistrement en fonction de la valeur, mais il m'est impossible de le faire depuis mon recordset issue de ma requete, la requete delete n'est possible que depuis la table et cela est long...( travaille sur + de 15000 enregistrements) est il possible de supprimmer tous les enregistrement de mon recordset ( travaille sur 4 enregistrements) car dans mon idée c'est la meme chose....
merci "Patrice Scribe" a écrit dans le message de news:% > Quel est le but ? Cela ressemble à une requête DELETE : > > DELETE FROM Parler_langues WHERE ID_personne=<valeur> > > Patrice > > -- > > "gerard" a écrit dans le message de > news:btgb53$u4k$ > > salut > > j'ai trouvé une solution > > > > RsLangues.open "parler_langues", Mconnect, AdOpenDynamic, > adLockOptimistic, > > adCmdTable > > RsLangues.MoveFirst > > Do While Not RsLangues.Eof > > If RsLangues!ID_Personne = RefCandidat then > > RsLangues.Delete > > End If > > TRsLangues.MoveNext > > Loop > > > > cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000 > > enregistrement > > alors qu'avec une requete du style > > StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + > > RefCandidat + "'" > > RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, > > adCmdText > > RsLangues.MoveFirst > > Do While Not RsLangues.Eof > > If RsLangues!ID_Personne = RefCandidat then > > RsLangues.Delete > > End If > > TRsLangues.MoveNext > > Loop > > > > eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant > > " Information sur la colonne clé insuffisante pour la mise a jour ou
le
> > rafraichissement " > > je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir > > > > donc cela marche avec la table entiere mais pas une requete surprenant > > je suis pret a prendre toute les explication pour accelerere cette > fonction > > > > merci a tous > > > > >
Si tu utilises :
StrRequete= "Delete From parler_langues where ID_PERSONNE= '" + RefCandidat
+ "'"
Au lieu de :
StrRequete= "Select * From parler_langues where ID_PERSONNE= '" +
RefCandidat + "'"
(exécute là directement via la connexion ou un objet Command).
Qu'est ce que cela donne ? Je pense qu'il est préférable d'envoyer la
requête SQL de destruciton directement plutôt que de sélectionner les
données dans un recordset avant de les détruire via ADO.
Patrice
--
"gerard" <gerard.v@wanadoo.fr> a écrit dans le message de
news:btgn26$mb4$1@news-reader4.wanadoo.fr...
salut
oui je veux effectivement supprimer les enregistrement en fonction de la
valeur,
mais il m'est impossible de le faire depuis mon recordset issue de ma
requete,
la requete delete n'est possible que depuis la table et cela est long...(
travaille sur + de 15000 enregistrements)
est il possible de supprimmer tous les enregistrement de mon recordset (
travaille sur 4 enregistrements)
car dans mon idée c'est la meme chose....
merci
"Patrice Scribe" <nobody@nowhere.com> a écrit dans le message de
news:%23pA7FfP1DHA.560@TK2MSFTNGP11.phx.gbl...
> Quel est le but ? Cela ressemble à une requête DELETE :
>
> DELETE FROM Parler_langues WHERE ID_personne=<valeur>
>
> Patrice
>
> --
>
> "gerard" <gerard.v@wanadoo.fr> a écrit dans le message de
> news:btgb53$u4k$1@news-reader4.wanadoo.fr...
> > salut
> > j'ai trouvé une solution
> >
> > RsLangues.open "parler_langues", Mconnect, AdOpenDynamic,
> adLockOptimistic,
> > adCmdTable
> > RsLangues.MoveFirst
> > Do While Not RsLangues.Eof
> > If RsLangues!ID_Personne = RefCandidat then
> > RsLangues.Delete
> > End If
> > TRsLangues.MoveNext
> > Loop
> >
> > cela fonctionne, mais cela prend du temps car elle passe en revue mes
3000
> > enregistrement
> > alors qu'avec une requete du style
> > StrRequete= "Select * From parler_langues where ID_PERSONNE= '" +
> > RefCandidat + "'"
> > RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic,
> > adCmdText
> > RsLangues.MoveFirst
> > Do While Not RsLangues.Eof
> > If RsLangues!ID_Personne = RefCandidat then
> > RsLangues.Delete
> > End If
> > TRsLangues.MoveNext
> > Loop
> >
> > eh bien a l'instruction RsLangues.Delete ca plante avec le message
suivant
> > " Information sur la colonne clé insuffisante pour la mise a jour ou
le
> > rafraichissement "
> > je ne comprend pas alors que la il n'y a que 4 enregistrement a
parcourir
> >
> > donc cela marche avec la table entiere mais pas une requete surprenant
> > je suis pret a prendre toute les explication pour accelerere cette
> fonction
> >
> > merci a tous
> >
> >
>
StrRequete= "Delete From parler_langues where ID_PERSONNE= '" + RefCandidat + "'"
Au lieu de :
StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + RefCandidat + "'"
(exécute là directement via la connexion ou un objet Command).
Qu'est ce que cela donne ? Je pense qu'il est préférable d'envoyer la requête SQL de destruciton directement plutôt que de sélectionner les données dans un recordset avant de les détruire via ADO.
Patrice
--
"gerard" a écrit dans le message de news:btgn26$mb4$
salut oui je veux effectivement supprimer les enregistrement en fonction de la valeur, mais il m'est impossible de le faire depuis mon recordset issue de ma requete, la requete delete n'est possible que depuis la table et cela est long...( travaille sur + de 15000 enregistrements) est il possible de supprimmer tous les enregistrement de mon recordset ( travaille sur 4 enregistrements) car dans mon idée c'est la meme chose....
merci "Patrice Scribe" a écrit dans le message de news:% > Quel est le but ? Cela ressemble à une requête DELETE : > > DELETE FROM Parler_langues WHERE ID_personne=<valeur> > > Patrice > > -- > > "gerard" a écrit dans le message de > news:btgb53$u4k$ > > salut > > j'ai trouvé une solution > > > > RsLangues.open "parler_langues", Mconnect, AdOpenDynamic, > adLockOptimistic, > > adCmdTable > > RsLangues.MoveFirst > > Do While Not RsLangues.Eof > > If RsLangues!ID_Personne = RefCandidat then > > RsLangues.Delete > > End If > > TRsLangues.MoveNext > > Loop > > > > cela fonctionne, mais cela prend du temps car elle passe en revue mes 3000 > > enregistrement > > alors qu'avec une requete du style > > StrRequete= "Select * From parler_langues where ID_PERSONNE= '" + > > RefCandidat + "'" > > RsLangues.open StrRequete , Mconnect, AdOpenDynamic, adLockOptimistic, > > adCmdText > > RsLangues.MoveFirst > > Do While Not RsLangues.Eof > > If RsLangues!ID_Personne = RefCandidat then > > RsLangues.Delete > > End If > > TRsLangues.MoveNext > > Loop > > > > eh bien a l'instruction RsLangues.Delete ca plante avec le message suivant > > " Information sur la colonne clé insuffisante pour la mise a jour ou
le
> > rafraichissement " > > je ne comprend pas alors que la il n'y a que 4 enregistrement a parcourir > > > > donc cela marche avec la table entiere mais pas une requete surprenant > > je suis pret a prendre toute les explication pour accelerere cette > fonction > > > > merci a tous > > > > >