(1) 2 »


Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Voilà, je rencontre plusieurs problèmes assez gênant au niveau d'un tableau et surtout avec les boutons qui l'accompagne :

Problème avec le bouton "Modifier" : Lors de la sélection d'une ligne dans le tableau, les données importées vers la fenêtre de modification est toujours la première ligne

Problème avec le bouton "Supprimer" : Quand on clique, ça ne supprime pas la bonne ligne, ce qui est assez gênant.

Ce qui me parait le plus étrange, c'est que j'ai réalisé mon tableau à partir du RAD donc logiquement, je ne devrais pas toucher le code... où est mon problème alors?

Contribution le : 22/01/2004 11:12
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
bizarre, effectivement ^^
peut tu donner un exemple de code qu'il y a dans ton bouton ?
est-ce que l'indice de la ligne supprimée est toujours la meme ou est-ce qu'elle diffère ?

Argona

Contribution le : 22/01/2004 13:32
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Voilà le code du bouton modifier. Le problème ici est qu'il ne m'envoit pas le bon client vers le formulaire de saisie

// 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)


Voici celui du bouton Supprimer. Là il ne me supprime pas la bonne ligne. Je pense que c'est un problème de rafraichissement mais bon...

// 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)

Contribution le : 22/01/2004 14:10
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
pour etre sur d'effectuer l'opération sur la bonne ligne, rajoute le parammetre "Indice" dans ta fonction tablesupprime(...) tu peut récuperer l'indice avec le code suivant : indice_Ligne = tableselect(NomTable,1)
pour encore + de sureté, affiche le résultat avec la fct trace()... c'est ce qu'il y a de mieux quand on veut éviter que les codes de raffraichissement d'une fenetre s'exécutent. perso j'utilise plus Info() ^^


Contribution le : 22/01/2004 15:36
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Ca marche il supprime la bonne ligne. mais il y a encore un problème d'affichage. Exemple :

On a dans la liste :

DUPOND
DURAND
DUMAS
TOULO

On clique sur DURAND et on appuie sur Sup. Pouf! A l'écran on obtient :

DUPOND
DURAND
DUMAS

MAIS cependant, si je ferme la fenêtre et que je la réouvre, c'est bien DURAND qui a été supprimé et on voit :

DUPOND
DUMAS
TOULO

Comment remédier à ça?

Merci d'avance ^^

Contribution le : 22/01/2004 16:06
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
tu peut me donner le code de la fction Frm_ListCli.SuspendreRafraichissement(Faux)??
ca doit etre la dedans qu'il y a un chmil ...
sinon tu a éxécuté la fction tableaffiche() en fin de code ?
j'insiste, je suit désolée ... j'ai eu le meme soucis sur une fenetre générée par e rad dernierement ...
sinon si ca fonctionne pas met la dans le code de reprise de focus de ta fenetre ^^

Contribution le : 22/01/2004 16:36
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Effectivement il manquait le TableAffiche() à la fin de la suppression. Etrange vu que c'est le code générer par le RAD... bon pas grave ^^ maintenant je le sais c'est parfait.

Reste mon soucis avec le bouton modifier qui ne me prend que les données de la première ligne pour les exporter vers le formulaire de saisie au lieu de la ligne sélectionnée.

HA! Et j'ai un autre "problème" mais je pense qu'il va vite se trouver une solution :

-J'utilise des ComboBox pour certains champs et une fois ces données affichées dans le tableau récapitulatif, je n'ai pas les données sélectionnées mais un numéro (qui est j'ai remarqué, leur position dans la liste déroulante). Même problème avec des cases à cocher et des Boutons radios.

Voilà voilà ^-^

Contribution le : 23/01/2004 11:09
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Salut,
Pour le bouton modifier
Le suppose que ta table est une table mémoire.
Une Solution
Il préférable lorsque l'on utilise une table mémoire
de créer une colonne invisible qui contiendra l'identifiant de l'enregistremnt souvent l' identifiant automatique de l'enregistremnt.

En adméttant que cette colonne se nomme 'IdAuto' dans tans table memoire tu peut utiliser le code suivant pour te positionner sur le bon enregistrement.
nId est un entier
sFichier est une chaine = "MonFichier" //Nom de ton fichier
sCleRecherche est une chaine = "IdAuto" //Nom le la rubrique auto
sTableNom est une chaine="MaTable" //Nom de la table
enregistrements

SI {"MaTable"}..Occurrence=0 ALORS RETOUR
Si TableSelect(sTableNom)=-1 ALORS 
 INFO("Veuillez sélectionner une ligne!")
 RETOUR
FIN

nId = IdAuto[{"MaTable"}] // IdAuto est le nom de la colonne qui contient les idAuto de ton fichier Cette colonne peut etre invisible

HLitRecherche(sFichier,sCleRubrique,nid)
Ouvre(<NomDeMafenetredDeModification>,"Modif")

Utiliser ensuite la fonction TableModifie(....) voir l'aide en ligne pour mettre à jour la ligne de la table avec les modifications apportées dans la fenetre de modification.


Contribution le : 23/01/2004 11:55
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
salut

pour ton pb de combo, au lieu de faire référence a la valeur de la combo, tu peut utiliser la propriété ..ValeurAffichée. Sinon dans le détail coche la case "Combo avec saisie", dans ce cas la la valeur retournée sera celle affichée ^^
@+

Bon ap a tous :)
Argoa

Contribution le : 23/01/2004 12:16
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Ben j'ai pris ton code en l'adaptant à mon application mais mon problème est toujours le même.

j'ai essayé de voir où été le problème en mettant un point d'arrêt juste avant l'ouverture de mon formulaire de saisie. Et la variable nId contient toujours la valeur zéro.

Où est ce que je me suis trompé?

Contribution le : 23/01/2004 12:18
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
1) As-tu ajouter une colonne dans ta table qui contient l'identifiant automatique de tes enregistrements?

2) As tu modifier la fonction TableAjoute(...) ou table AjouteLigne(...) pour ajouter cette identifiant?

Contribution le : 23/01/2004 12:29
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Pour le premier point oui.

Pour le point 2, où est cette ligne de code car je ne la voit nulle part.

Contribution le : 23/01/2004 12:47
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
A ne pas lire le fil de discution je fini par dire n'importe quoi,
Pour test

4) dans l'onglet contenu de ta table combo Rubrique Mémorisé
indique le nom de la rubrique représentant ton identifant automatique

dans le code de ton bouton controlependant le débuggage que
nId doit etre <> de 0

Contribution le : 23/01/2004 14:10
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Okay ça marche merci ^^

Reste mon soucis à propos de mes menus déroulants qui renvoit les positions à la place des données.

je pense que c'est une fonction qui doit gérer ça mais je ne sais pas laquelle ^^'

Merci en tout cas pour tout ce que vous m'apprenez :)

Contribution le : 23/01/2004 14:39
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Menu déroulant ?????????

Je pense que tu veux parler des combos?
Ci c'est le cas, le principe est le meme que pour la table
Tu va dans la description de ta combo, tu clique sur l'onglet Contenu et tu sélectionne dans 'rubrique mémorisée' la rubrique que tu veux avoir en retour.

Cette exemple fonctionne uniquement si ta combo est relié à une source de données

dans sélection d'une ligne de la combo
Cas ou la rubrique mémorisé est une valeur

nId est un entier

nid = <NomDeMaCombo>

Contribution le : 23/01/2004 14:55
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Oui menu déroulant = combo box ^^

Bon je vais te réexpliquer mon problème car je crois que tu n'as pas bien compris de quoi je parle :-p

Un exemple est toujours plus parlant :

Dans ma fenêtre de saisie, il y a 3 boutons radios :

° Mr ° Mme ° Mlle

On sélectionne MMe par exemple. Arrivé sur le tableau récapitulatif, il n'y a pas Mme dans la colonne Titre mais... 2. Si j'avais sélectionné Mr, il y aurait 1 et si j'avais sélectionné Mlle, il y aurait 3.

Même problème avec une combo. Si on a une combo :
____________
|____________|V
|Monsieur |
|Madame |
|Mademoiselle|

Monsieur devient 1 dans le tableau, madame 2,etc...

Tu vois le problème? Et si on ne sélectionne rien, on obtient -1.

Contribution le : 23/01/2004 15:15
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
fait une recherche sur le nom de ta combo... tu verras bien quelles fctions l'utilisent ...

Contribution le : 23/01/2004 15:32
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Heu je ne comprends pas bien ton message ^^'

Je ne cherche pas à savoir quelles fonctions utilisent ma combo...

Est ce que tu veux peut être dire qu'à partir de l'indice je peux retrouver l'info qui s'y rattache même si elle n'est pas dans la fenêtre?


Contribution le : 23/01/2004 15:40
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Ok
Dans le descriptif de ton tableau récapitulatif
tu clique sur la colonne Titre et tu sélectionne combo comme type de champs.
Puis dans contenu Initial tu incrit en dur
Monsieur
Madame
Mademoiselle

Tu clique ensuite sur l'onglet détai et tu sélectionne 'Sans bouton' dans le groupe 'Bouton de la combo'

Relance ta fenêtre et la cela doit fonctionner.

Contribution le : 23/01/2004 15:47
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problèmes un tableau
avec ta combo , t'a fait comme je t'ai di ?
t'a sélectionné l'option de saisie?
moi je disais ca pasque je croyais que tu l'avait fait :p

Contribution le : 23/01/2004 15:51
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2