PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV 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.