|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accueil → WINDEV 2024 → Copier vers un autre fichier et supprimer l'enregistrement en cours en cochant une option de sélecteur |
Copier vers un autre fichier et supprimer l'enregistrement en cours en cochant une option de sélecteur |
Débuté par spamst, 29 aoû. 2004 21:05 - 7 réponses |
| |
| | | |
|
| |
Posté le 29 août 2004 - 21:05 |
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide. |
| |
| |
| | | |
|
| | |
| |
Posté le 30 août 2004 - 11:50 |
Si les deux fichiers ont la meme structure un simple hCopieEnreg suivi de hsupprime et hajoute devrait suffire.
on recopie les infos du fichier A vers le B on ajoute enregistrement B on efface l'enregistrement A
En meme temps, vu la rapidité des bases maintenant... pourquoi deux fichiers alors que vous filtrez sur votre sélecteur ?
titi wrote:
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 30 août 2004 - 12:36 |
Je pense que la meilleure solution est: RecupID est entier // Récupération de l'ID du Fichier A RecupID = FichierA.ID //On affecte les champs du fichier A dans le fichier B FichierB.Champ1 = FichierA.Champ1 FichierB.Champ2 = FichierA.Champ2 FichierB.Champ3 = FichierA.Champ3 .... FichierB.ChampN = FichierA.ChampN //On regarde si l'ajout est correct SI HAjoute(FichierB) ALORS HLitRecherchePremier(FichierA,ID,RecupID) SI PAS HTrouve(FichierA) ALORS Erreur("L'enregistrement à supprimer après acquisition est introuvable !!!!","Veuillez le faire manuellement !!!") SINON HSupprime(FichierA) SI PAS HSupprime(FichierA) ALORS Erreur("Fichier non Supprimé, Veuillez le faire manuellement !!!") SINON Info("Le fichier a été correctement supprimé àprés acquisition !!!") FIN FIN FIN
Voilà a peu près le code que j'utiliserais....
"titi" <spamst@free.fr> wrote:
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 30 août 2004 - 14:58 |
Bonjour,
Merci beaucoup pour votre réponse. je teste cela dès ce soir.
"Aurélien MACHABERT" <43@gauthiersa.fr> wrote:
Je pense que la meilleure solution est: RecupID est entier // Récupération de l'ID du Fichier A RecupID = FichierA.ID //On affecte les champs du fichier A dans le fichier B FichierB.Champ1 = FichierA.Champ1 FichierB.Champ2 = FichierA.Champ2 FichierB.Champ3 = FichierA.Champ3 ... FichierB.ChampN = FichierA.ChampN //On regarde si l'ajout est correct SI HAjoute(FichierB) ALORS HLitRecherchePremier(FichierA,ID,RecupID) SI PAS HTrouve(FichierA) ALORS Erreur("L'enregistrement à supprimer après acquisition est introuvable !!!!","Veuillez le faire manuellement !!!") SINON HSupprime(FichierA) SI PAS HSupprime(FichierA) ALORS Erreur("Fichier non Supprimé, Veuillez le faire manuellement !!!") SINON Info("Le fichier a été correctement supprimé àprés acquisition !!!") FIN FIN FIN Voilà a peu près le code que j'utiliserais.... "titi" <spamst@free.fr> wrote:
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je
coche
l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 30 août 2004 - 15:02 |
Bonjour,
Tout d'abord, merci de votre réponse.
Je crée une application pour gérer une collection.J'utilise en fait 2 fichiers,l'un pour la collection elle-même et l'autre pour les éléments manquants. Le sélecteur est sur la fenêtre permettant la saisie des éléments manquants. C'est pourquoi lorsque je coche Acquis, je souhaite la copie des données, puis la suppression de celles-ci des éléments manquants. Dans le cas où A Acquerir est coché, rien ne se passe. Cette option est là à titre purement informatif.
Merci encore de votre réponse. =?ISO-8859-1?Q?BOUDOT_Sébastien_-_Blue_River_System?= wrote:
Si les deux fichiers ont la meme structure un simple hCopieEnreg suivi de hsupprime et hajoute devrait suffire. on recopie les infos du fichier A vers le B on ajoute enregistrement B on efface l'enregistrement A En meme temps, vu la rapidité des bases maintenant... pourquoi deux fichiers alors que vous filtrez sur votre sélecteur ? titi wrote: Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis
et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés >> du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche
l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 30 août 2004 - 16:50 |
Dans ce cas, il suffit de creer deux fichiers avec la meme structure ( hAlias + Hsustnom ) et de copier les enregistrements ( cela évite de copier tout les champs à la main )
Collection est un fichier CollectionAcquis est un alias de Collection.
Si Collection.Asquis est vrai alors :
hCopieEnreg(CollectionAcquis,Collection) hAjoute(CollectionAcquis) hSupprime(Collection)
Cela permet de pouvoir ajouter simplement des rubriques dans le fichier Collection sans se soucier du code ( je n'ai pas mis les tests évidents de réussite de l'ajout avant la supression et c'est "mieux" que la solution d' Aurélien a mon gout )
titi wrote:
Bonjour, Tout d'abord, merci de votre réponse. Je crée une application pour gérer une collection.J'utilise en fait 2 fichiers,l'un pour la collection elle-même et l'autre pour les éléments manquants. Le sélecteur est sur la fenêtre permettant la saisie des éléments manquants. C'est pourquoi lorsque je coche Acquis, je souhaite la copie des données, puis la suppression de celles-ci des éléments manquants. Dans le cas où A Acquerir est coché, rien ne se passe. Cette option est là à titre purement informatif. Merci encore de votre réponse. =?ISO-8859-1?Q?BOUDOT_Sébastien_-_Blue_River_System?= wrote: Si les deux fichiers ont la meme structure un simple hCopieEnreg suivi de hsupprime et hajoute devrait suffire. on recopie les infos du fichier A vers le B on ajoute enregistrement B on efface l'enregistrement A En meme temps, vu la rapidité des bases maintenant... pourquoi deux fichiers alors que vous filtrez sur votre sélecteur ? titi wrote: Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options
(Acquis et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient
copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je
coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 01 septembre 2004 - 15:35 |
"titi" <spamst@free.fr> wrote:
Bonjour,
J'ai saisit le code que vous m'avez communiquer, mais ne l'ai pas encore testé. Cependant je me pose une question au niveau du HSupprimer(FichierA). Cette fonction va-t-elle supprimer l'enregistrement copié ou le fichier complet ?
Merci de votre réponse.
"Aurélien MACHABERT" <43@gauthiersa.fr> wrote: Je pense que la meilleure solution est: RecupID est entier // Récupération de l'ID du Fichier A RecupID = FichierA.ID //On affecte les champs du fichier A dans le fichier B FichierB.Champ1 = FichierA.Champ1 FichierB.Champ2 = FichierA.Champ2 FichierB.Champ3 = FichierA.Champ3 ... FichierB.ChampN = FichierA.ChampN //On regarde si l'ajout est correct SI HAjoute(FichierB) ALORS HLitRecherchePremier(FichierA,ID,RecupID) SI PAS HTrouve(FichierA) ALORS Erreur("L'enregistrement à supprimer après acquisition est introuvable !!!!","Veuillez le faire manuellement !!!") SINON HSupprime(FichierA) SI PAS HSupprime(FichierA) ALORS Erreur("Fichier non Supprimé, Veuillez le faire manuellement !!!") SINON Info("Le fichier a été correctement supprimé àprés acquisition !!!") FIN FIN FIN Voilà a peu près le code que j'utiliserais.... "titi" <spamst@free.fr> wrote:
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options
(Acquis
et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés
du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | |
| |
Posté le 01 septembre 2004 - 15:51 |
Logiquement le Hsupprime(FichierA) supprime l'enregistrement en cours dans le fichier A, mais à tester et regard dans l'aide...
"titi" <spamst@free.fr> wrote:
"titi" <spamst@free.fr> wrote:
Bonjour, J'ai saisit le code que vous m'avez communiquer, mais ne l'ai pas encore
testé. Cependant je me pose une question au niveau du HSupprimer(FichierA). Cette fonction va-t-elle supprimer l'enregistrement copié ou le fichier complet
? Merci de votre réponse. "Aurélien MACHABERT" <43@gauthiersa.fr> wrote: Je pense que la meilleure solution est: RecupID est entier // Récupération de l'ID du Fichier A RecupID = FichierA.ID //On affecte les champs du fichier A dans le fichier B FichierB.Champ1 = FichierA.Champ1 FichierB.Champ2 = FichierA.Champ2 FichierB.Champ3 = FichierA.Champ3 ... FichierB.ChampN = FichierA.ChampN //On regarde si l'ajout est correct SI HAjoute(FichierB) ALORS HLitRecherchePremier(FichierA,ID,RecupID) SI PAS HTrouve(FichierA) ALORS Erreur("L'enregistrement à supprimer après acquisition est introuvable !!!!","Veuillez le faire manuellement !!!") SINON HSupprime(FichierA) SI PAS HSupprime(FichierA) ALORS Erreur("Fichier non Supprimé, Veuillez le faire manuellement !!!") SINON Info("Le fichier a été correctement supprimé àprés acquisition !!!") FIN FIN FIN Voilà a peu près le code que j'utiliserais.... "titi" <spamst@free.fr> wrote:
Bonsoir à tous,
Sur une fenêtre j'ai un sélecteur nommé Obtention contenant 2 options (Acquis
et A Acquérir).
Descriptif de la situation : Fichier A contenant le sélecteur et les données. Fichier B devant recevoir les données. Tous les champs du Fichier A existent dans le Fichier B,mais pas l'inverse.
Comment faire pour que les champs contenant des renseignements soient copiés du Fichier A vers le Fichier B, puis supprimés du Fichier A lorsque je coche l'option "Acquis" dans mon sélecteur ?
Pour info chacun de ces fichiers comporte un IDAutomatique avec clé unique.
Merci d'avance pour votre aide.
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|