bonjour
voila mon petit problème, je voudrais faire des suppressions d'enreg sur un
recordset après avoir effectué une premiere sélection de données. exemple :
rstcommande = select * from Commande
-> jusque là pas de problème. je voudrais maintenant savoir si la commande
est facturée et je dois passer par d'autres tables pour avoir l'info (je ne
peux faire la requete complète pour des questions de temps d'accès)
pour cela je voudrais lire chaque enreg de rstcommande (movenext jusqu'à
eof. pas de prob) sur chaque enreg faire un :
SELECT numfact from facture where rstcommande.numcom = facture.numcom. si
la requete est vide, je voudrais supprimer l'enreg encours du rstcommande.
Après avoir traité toute les commandes, je me retrouverais donc uniquement
avec les commandes facturées.
cela est t'il possible ? peut-on après le eof du rst revenir au debut de
celui-ci est enchainer d'autres manipulations sur le rst lui même.
si vous pouvez m'indiquer quelques lignes de code ça serait sympa.
merci
cordiales salutations
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
> J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
Oui j'ai inversé le critère.
> J'ai pas tout bien compris,
1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
Effectivement c'est pas simple à expliquer mais dans le principe c'est simple.
je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base
odbc dont je dispose, je dois passer par les tables suivantes pour avoir
l'info :
entetecommande -> specifcommande -> entetefacture.
donc si je fais une requete englobant tous les critères, j'arrive sur une
usine à gaz et les temps de reponse sont deplorable.
donc je voudrais :
créer un rst entetecommande (dans lequel je retrouve les commandes)
pour chaque commande, faire une requete pour rechercher
entetefacture.numfact en passant par specifcommande. à ce stade je saurais
si la commande est facturée, si oui je la garde, sinon je la vire du rst en
cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en
continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y
avoir des problèmes dans les pointeurs d'enreg ?
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ??
ne serait-ce pas plutôt
SELECT numfact from facture where facture.numcom = rstcommande.numcom
> J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
Oui j'ai inversé le critère.
Eric a écrit :
bonjour voila mon petit problème, je voudrais faire des suppressions d'enreg sur un recordset après avoir effectué une premiere sélection de données. exemple :
rstcommande = select * from Commande -> jusque là pas de problème. je voudrais maintenant savoir si la commande est facturée et je dois passer par d'autres tables pour avoir l'info (je ne peux faire la requete complète pour des questions de temps d'accès)
pour cela je voudrais lire chaque enreg de rstcommande (movenext jusqu'à eof. pas de prob) sur chaque enreg faire un : SELECT numfact from facture where rstcommande.numcom = facture.numcom. si la requete est vide, je voudrais supprimer l'enreg encours du rstcommande. Après avoir traité toute les commandes, je me retrouverais donc uniquement avec les commandes facturées.
cela est t'il possible ? peut-on après le eof du rst revenir au debut de celui-ci est enchainer d'autres manipulations sur le rst lui même.
si vous pouvez m'indiquer quelques lignes de code ça serait sympa. merci cordiales salutations
Bonjour,
J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
peut-on après le eof du rst revenir au debut de celui-ci est enchainer d'autres manipulations sur le rst lui même.
A priori oui.
A+
Christophe
Eric a écrit :
bonjour
voila mon petit problème, je voudrais faire des suppressions d'enreg sur un
recordset après avoir effectué une premiere sélection de données. exemple :
rstcommande = select * from Commande
-> jusque là pas de problème. je voudrais maintenant savoir si la commande
est facturée et je dois passer par d'autres tables pour avoir l'info (je ne
peux faire la requete complète pour des questions de temps d'accès)
pour cela je voudrais lire chaque enreg de rstcommande (movenext jusqu'à
eof. pas de prob) sur chaque enreg faire un :
SELECT numfact from facture where rstcommande.numcom = facture.numcom. si
la requete est vide, je voudrais supprimer l'enreg encours du rstcommande.
Après avoir traité toute les commandes, je me retrouverais donc uniquement
avec les commandes facturées.
cela est t'il possible ? peut-on après le eof du rst revenir au debut de
celui-ci est enchainer d'autres manipulations sur le rst lui même.
si vous pouvez m'indiquer quelques lignes de code ça serait sympa.
merci
cordiales salutations
Bonjour,
J'ai pas tout bien compris,
1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ??
ne serait-ce pas plutôt
SELECT numfact from facture where facture.numcom = rstcommande.numcom
peut-on après le eof du rst revenir au debut de
celui-ci est enchainer d'autres manipulations sur le rst lui même.
bonjour voila mon petit problème, je voudrais faire des suppressions d'enreg sur un recordset après avoir effectué une premiere sélection de données. exemple :
rstcommande = select * from Commande -> jusque là pas de problème. je voudrais maintenant savoir si la commande est facturée et je dois passer par d'autres tables pour avoir l'info (je ne peux faire la requete complète pour des questions de temps d'accès)
pour cela je voudrais lire chaque enreg de rstcommande (movenext jusqu'à eof. pas de prob) sur chaque enreg faire un : SELECT numfact from facture where rstcommande.numcom = facture.numcom. si la requete est vide, je voudrais supprimer l'enreg encours du rstcommande. Après avoir traité toute les commandes, je me retrouverais donc uniquement avec les commandes facturées.
cela est t'il possible ? peut-on après le eof du rst revenir au debut de celui-ci est enchainer d'autres manipulations sur le rst lui même.
si vous pouvez m'indiquer quelques lignes de code ça serait sympa. merci cordiales salutations
Bonjour,
J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
peut-on après le eof du rst revenir au debut de celui-ci est enchainer d'autres manipulations sur le rst lui même.
A priori oui.
A+
Christophe
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Eric a écrit :<br> <blockquote cite="" type="cite"> <blockquote type="cite"> <pre wrap="">J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre> </blockquote> <pre wrap=""><!----> Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
</pre> <blockquote type="cite"> <pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre> </blockquote> <pre wrap=""><!---->Oui j'ai inversé le critère. </pre> <pre wrap=""><!----> </pre> </blockquote> <br> RE,<br> <br> Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br> Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br> Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br> <br> De fait quand tu fais un delete sur un recordset, il est marqué comme étant à supprimer mais il demeure l'enregistrement en cours tant que tu ne passes pas à l'enregistrement suivant., il devient inaccessible après.<br> <br> Par précaution je procèderais autrement:, création d'un objet<br> OBJCommande , et de la liste associée.<br> Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ boolean: facturee <br> Je rempli la liste avec la première requête <br> Je parcours ma liste et pour chaque membre je défini la valeur de facturee en fonction d'une nouvelle requête<br> J'envoie une requête de suppression générale de tous les OBJcommande avec factureeúlse.<br> <br> A+<br> <br> Christophe<br> <br> <br> <br> </body> </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Eric a écrit :<br>
<blockquote cite="mid4CE37BBC-B3CB-434A-9775-49A2C1EB3B84@microsoft.com"
type="cite">
<blockquote type="cite">
<pre wrap="">J'ai pas tout bien compris,
1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre>
</blockquote>
<pre wrap=""><!---->
Effectivement c'est pas simple à expliquer mais dans le principe c'est simple.
je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base
odbc dont je dispose, je dois passer par les tables suivantes pour avoir
l'info :
entetecommande -> specifcommande -> entetefacture.
donc si je fais une requete englobant tous les critères, j'arrive sur une
usine à gaz et les temps de reponse sont deplorable.
donc je voudrais :
créer un rst entetecommande (dans lequel je retrouve les commandes)
pour chaque commande, faire une requete pour rechercher
entetefacture.numfact en passant par specifcommande. à ce stade je saurais
si la commande est facturée, si oui je la garde, sinon je la vire du rst en
cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en
continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y
avoir des problèmes dans les pointeurs d'enreg ?
</pre>
<blockquote type="cite">
<pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ??
ne serait-ce pas plutôt
SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre>
</blockquote>
<pre wrap=""><!---->Oui j'ai inversé le critère.
</pre>
<pre wrap=""><!---->
</pre>
</blockquote>
<br>
RE,<br>
<br>
Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br>
Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br>
Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br>
<br>
De fait quand tu fais un delete sur un recordset, il est marqué comme
étant à supprimer mais il demeure l'enregistrement en cours tant que tu
ne passes pas à l'enregistrement suivant., il devient inaccessible
après.<br>
<br>
Par précaution je procèderais autrement:, création d'un objet<br>
OBJCommande , et de la liste associée.<br>
Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ
boolean: facturee <br>
Je rempli la liste avec la première requête <br>
Je parcours ma liste et pour chaque membre je défini la valeur de
facturee en fonction d'une nouvelle requête<br>
J'envoie une requête de suppression générale de tous les OBJcommande
avec factureeúlse.<br>
<br>
A+<br>
<br>
Christophe<br>
<br>
<br>
<br>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Eric a écrit :<br> <blockquote cite="" type="cite"> <blockquote type="cite"> <pre wrap="">J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre> </blockquote> <pre wrap=""><!----> Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
</pre> <blockquote type="cite"> <pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre> </blockquote> <pre wrap=""><!---->Oui j'ai inversé le critère. </pre> <pre wrap=""><!----> </pre> </blockquote> <br> RE,<br> <br> Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br> Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br> Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br> <br> De fait quand tu fais un delete sur un recordset, il est marqué comme étant à supprimer mais il demeure l'enregistrement en cours tant que tu ne passes pas à l'enregistrement suivant., il devient inaccessible après.<br> <br> Par précaution je procèderais autrement:, création d'un objet<br> OBJCommande , et de la liste associée.<br> Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ boolean: facturee <br> Je rempli la liste avec la première requête <br> Je parcours ma liste et pour chaque membre je défini la valeur de facturee en fonction d'une nouvelle requête<br> J'envoie une requête de suppression générale de tous les OBJcommande avec factureeúlse.<br> <br> A+<br> <br> Christophe<br> <br> <br> <br> </body> </html>
Eric
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via DAO sur les bases SAGE notamment et avec ADO ça marche tres bien cordialement
"<pas-despam> @Bwanadoo.fr>" <" a écrit :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Eric a écrit :<br> <blockquote cite="" type="cite"> <blockquote type="cite"> <pre wrap="">J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre> </blockquote> <pre wrap=""><!----> Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
</pre> <blockquote type="cite"> <pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre> </blockquote> <pre wrap=""><!---->Oui j'ai inversé le critère. </pre> <pre wrap=""><!----> </pre> </blockquote> <br> RE,<br> <br> Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br> Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br> Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br> <br> De fait quand tu fais un delete sur un recordset, il est marqué comme étant à supprimer mais il demeure l'enregistrement en cours tant que tu ne passes pas à l'enregistrement suivant., il devient inaccessible après.<br> <br> Par précaution je procèderais autrement:, création d'un objet<br> OBJCommande , et de la liste associée.<br> Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ boolean: facturee <br> Je rempli la liste avec la première requête <br> Je parcours ma liste et pour chaque membre je défini la valeur de facturee en fonction d'une nouvelle requête<br> J'envoie une requête de suppression générale de tous les OBJcommande avec factureeúlse.<br> <br> A+<br> <br> Christophe<br> <br> <br> <br> </body> </html>
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et
microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via
DAO sur les bases SAGE notamment et avec ADO ça marche tres bien
cordialement
"<pas-despam> @Bwanadoo.fr>" <" a écrit :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Eric a écrit :<br>
<blockquote cite="mid4CE37BBC-B3CB-434A-9775-49A2C1EB3B84@microsoft.com"
type="cite">
<blockquote type="cite">
<pre wrap="">J'ai pas tout bien compris,
1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre>
</blockquote>
<pre wrap=""><!---->
Effectivement c'est pas simple à expliquer mais dans le principe c'est simple.
je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base
odbc dont je dispose, je dois passer par les tables suivantes pour avoir
l'info :
entetecommande -> specifcommande -> entetefacture.
donc si je fais une requete englobant tous les critères, j'arrive sur une
usine à gaz et les temps de reponse sont deplorable.
donc je voudrais :
créer un rst entetecommande (dans lequel je retrouve les commandes)
pour chaque commande, faire une requete pour rechercher
entetefacture.numfact en passant par specifcommande. à ce stade je saurais
si la commande est facturée, si oui je la garde, sinon je la vire du rst en
cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en
continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y
avoir des problèmes dans les pointeurs d'enreg ?
</pre>
<blockquote type="cite">
<pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ??
ne serait-ce pas plutôt
SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre>
</blockquote>
<pre wrap=""><!---->Oui j'ai inversé le critère.
</pre>
<pre wrap=""><!---->
</pre>
</blockquote>
<br>
RE,<br>
<br>
Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br>
Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br>
Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br>
<br>
De fait quand tu fais un delete sur un recordset, il est marqué comme
étant à supprimer mais il demeure l'enregistrement en cours tant que tu
ne passes pas à l'enregistrement suivant., il devient inaccessible
après.<br>
<br>
Par précaution je procèderais autrement:, création d'un objet<br>
OBJCommande , et de la liste associée.<br>
Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ
boolean: facturee <br>
Je rempli la liste avec la première requête <br>
Je parcours ma liste et pour chaque membre je défini la valeur de
facturee en fonction d'une nouvelle requête<br>
J'envoie une requête de suppression générale de tous les OBJcommande
avec factureeúlse.<br>
<br>
A+<br>
<br>
Christophe<br>
<br>
<br>
<br>
</body>
</html>
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via DAO sur les bases SAGE notamment et avec ADO ça marche tres bien cordialement
"<pas-despam> @Bwanadoo.fr>" <" a écrit :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Eric a écrit :<br> <blockquote cite="" type="cite"> <blockquote type="cite"> <pre wrap="">J'ai pas tout bien compris, 1) avec quel objet d'accès aux données travailles-tu ? (ADO, DAO etc ...)
</pre> </blockquote> <pre wrap=""><!----> Effectivement c'est pas simple à expliquer mais dans le principe c'est simple. je travaille avec ADO
en fait mon but est de savoir si la commande est facturée mais dans la base odbc dont je dispose, je dois passer par les tables suivantes pour avoir l'info : entetecommande -> specifcommande -> entetefacture. donc si je fais une requete englobant tous les critères, j'arrive sur une usine à gaz et les temps de reponse sont deplorable. donc je voudrais : créer un rst entetecommande (dans lequel je retrouve les commandes) pour chaque commande, faire une requete pour rechercher entetefacture.numfact en passant par specifcommande. à ce stade je saurais si la commande est facturée, si oui je la garde, sinon je la vire du rst en cours.
voir pour resumer. ma question est : peut on virer des enreg du rst tout en continuant à lire les enreg suivant de ce meme rst. ne risque t'il pas d'y avoir des problèmes dans les pointeurs d'enreg ?
</pre> <blockquote type="cite"> <pre wrap="">2)
SELECT numfact from facture where rstcommande.numcom = facture.numcom. ?? ne serait-ce pas plutôt SELECT numfact from facture where facture.numcom = rstcommande.numcom
</pre> </blockquote> <pre wrap=""><!---->Oui j'ai inversé le critère. </pre> <pre wrap=""><!----> </pre> </blockquote> <br> RE,<br> <br> Pour ma part j'utilise DAO donc je suis pas sur à 100% de ma réponse.<br> Mais après relecture de la MSDN, je pense qu'il n'y a pas de soucis.<br> Après il te faut savoir si tu es en mise à jour immédiate ou pas.<br> <br> De fait quand tu fais un delete sur un recordset, il est marqué comme étant à supprimer mais il demeure l'enregistrement en cours tant que tu ne passes pas à l'enregistrement suivant., il devient inaccessible après.<br> <br> Par précaution je procèderais autrement:, création d'un objet<br> OBJCommande , et de la liste associée.<br> Cet OBJ à pour propriétés les champs qui t'interressent + 1 champ boolean: facturee <br> Je rempli la liste avec la première requête <br> Je parcours ma liste et pour chaque membre je défini la valeur de facturee en fonction d'une nouvelle requête<br> J'envoie une requête de suppression générale de tous les OBJcommande avec factureeúlse.<br> <br> A+<br> <br> Christophe<br> <br> <br> <br> </body> </html>
Eric a écrit :
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via DAO sur les bases SAGE notamment et avec ADO ça marche tres bien cordialement
Je sais (MDAC) mais pour mes besoins DAO est très bien et très optimisé, j'utilise en fait DAO pour créer des fichiers de données qui vont avec les applis, c'est donc ACCESS97 et monoutilisateur.
A+
Christophe
Eric a écrit :
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et
microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via
DAO sur les bases SAGE notamment et avec ADO ça marche tres bien
cordialement
Je sais (MDAC) mais pour mes besoins DAO est très bien et très optimisé,
j'utilise en fait DAO pour créer des fichiers de données qui vont avec
les applis,
c'est donc ACCESS97 et monoutilisateur.
Ok je vais essayer cette solution par une commande.
tu devrais essayer de migrer tes applic vers ADO car DAO commence à dater et microsoft incite à passer sur ADO j'ai eu pas mal de problème avec ODBC via DAO sur les bases SAGE notamment et avec ADO ça marche tres bien cordialement
Je sais (MDAC) mais pour mes besoins DAO est très bien et très optimisé, j'utilise en fait DAO pour créer des fichiers de données qui vont avec les applis, c'est donc ACCESS97 et monoutilisateur.