// ne fait rien si aucun enregistrement sélectionné dans la table
SI TableSelect(Frm_ListCli.Tab_ListCli)=-1 ALORS RETOUR
// Si c'est la ligne de saisie/sélection, on ne peut pas la supprimer
SI TableSelect(Frm_ListCli.Tab_ListCli)>TableOccurrence(Frm_ListCli.Tab_ListCli) ALORS
Info("Il n'y a aucun enregistrement sur cette ligne.","Modification impossible.")
RETOUR
FIN
// rafraichissement de la table avant la modification
// dans le cas où une modification à été faite sur un autre poste
TableAffiche(Frm_ListCli.Tab_ListCli,taCourantBandeau)
// On arrête le rafraichissement automatique de la fenêtre
Frm_ListCli.SuspendreRafraichissement(Vrai)
// Pour compatibilité avec les autres modèles de génération
HLitRecherche(CLIENT,IDCLIENT,REQ_SELECT_CLIENT.NomClient)
// ouverture de la fiche du fichier CLIENT en mode modification
SI Ouvre(Frm_InsertCli,"Modif") ALORS
// rafraichissement de la table si un enregistrement a été modifié
SI Frm_ListCli.ValeurFiltre~="" ALORS
HExécuteRequête(REQ_SELECT_CLIENT,hRequêteDéfaut+hModifieFichier)
SI ErreurDétectée ALORS
Erreur("Impossible d'accéder aux enregistrements de la table",HErreurInfo())
FIN
SINON
// Cas particulier
Frm_ListCli.RADSQLFiltre(ExtraitChaîne(Frm_ListCli.ValeurFiltre,1,"="),...
ExtraitChaîne(Frm_ListCli.ValeurFiltre,2,"="))
FIN
TableAffiche(Frm_ListCli.Tab_ListCli,taCourantBandeau)
FIN
// On relance le rafraichissement automatique de la fenêtre
Frm_ListCli.SuspendreRafraichissement(Faux)
// ne fait rien si aucun enregistrement sélectionné dans la table
SI TableSelect(Frm_ListCli.Tab_ListCli)=-1 ALORS RETOUR
// Si c'est la ligne de saisie/sélection, on ne peut pas la supprimer
SI TableSelect(Frm_ListCli.Tab_ListCli)>TableOccurrence(Frm_ListCli.Tab_ListCli) ALORS
Info("Il n'y a aucun enregistrement sur cette ligne.","Suppression impossible.")
RETOUR
FIN
// On arrête le rafraichissement automatique de la fenêtre
Frm_ListCli.SuspendreRafraichissement(Vrai)
// si la suppression est confirmée, suppression de la ligne de la table et de
// l'enregistrement correspondant dans le fichier CLIENT
SI OuiNon("Voulez-vous vraiment supprimer ce client ?") ALORS
// Suppression de l'enregistrement à partir de la table
TableSupprime(Frm_ListCli.Tab_ListCli)
// Vérification de l'intégrité
SI HErreurIntégrité() ALORS
Erreur("La ligne sélectionnée n'a pas été supprimée : ",HErreurInfo())
FIN
FIN
// On relance le rafraichissement automatique de la fenêtre
Frm_ListCli.SuspendreRafraichissement(Faux)
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=5&topic_id=510&post_id=1784