IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

[WinDev 12] 2 fichiers dans une seule fenêtre


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut [WinDev 12] 2 fichiers dans une seule fenêtre
    Bonjour à tous,

    Commençant seulement sous WinDev j'ai le problème suivant :

    J'ai 2 tables : 1 table client, 1 table observations avec les champs suivants

    Table client
    IDClient
    Nom
    Prenom
    Adresse
    CodePostal
    Ville
    IDObservation


    Table Observations
    IDObservation
    Libelle

    Dans une fenêtre windev j'ai tous mes champs, y compris le champ Observation....
    Seul problème, quand je crée un nouveau client, le champ observation n'est pas enregistré. Je revins sur ma fenêtre, je retrouve mon client mais pas l'observation qui a été faîte sur lui.....

    Je sèche.

    Merci par avance pour votre aide.

  2. #2
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    Salut,
    pourrais-tu préciser le code de la fenêtre ?

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il faut savoir comment les champs sont liés à la base de données et comment les données sont sauvegardées et récupérées.
    Et si la liaison entre les deux fichier est bien établie dans l'analyse ?

  4. #4
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Citation Envoyé par Guardian Voir le message
    Il faut savoir comment les champs sont liés à la base de données et comment les données sont sauvegardées et récupérées.
    Et si la liaison entre les deux fichier est bien établie dans l'analyse ?
    Euh on fait comment pour insérer une image svp ?

    La liasion est bien effectuée avec :
    côté fichier Observations cardinalité de 0,n
    côté fichier client cardinalité 0,1

    Sauvegarde des données et récupération
    EcranVersFichier() et FichierVersEcran()

    Le champ Observation (dans ma fenêtre) est lié en multi-fichier mais j'aimerais mettre ce champ en image...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par Xsara 167 cv Voir le message
    Sauvegarde des données et récupération
    EcranVersFichier() et FichierVersEcran()
    Ces deux instructions ne gèrent que l'attribution des rubriques de l'enregistrement en cours pour un seul fichier et ne gèrent ni la lecture ni l'écriture.
    Citation Envoyé par FichierVersEcran
    Initialise automatiquement les champs d'une fenêtre avec les valeurs des rubriques associées dans l'enregistrement en cours (chargé en mémoire) du fichier Hyper File, … décrit sous l'éditeur d'analyses. Cette opération est effectuée quel que soit l'état des champs (grisés, inactifs, ou invisibles).

    Remarque : La fonction FichierVersEcran n'effectue aucune lecture du fichier. C'est la valeur de l'enregistrement chargé en mémoire qui est utilisée pour initialiser les champs. Il faut donc qu'un enregistrement soit au préalable chargé en mémoire (fonctions HLit , HLitRecherche , HLitPremier , ...).
    Citation Envoyé par EcranVersFichier
    Initialise automatiquement la valeur mémoire des rubriques d'un fichier avec la valeur des champs de la fenêtre. Les rubriques du fichier de base reliées aux champs de la fenêtre sont automatiquement affectées avec les valeurs des champs correspondants (même si ces champs sont grisés, inactifs, ou invisibles).

    Remarques :
    La fonction EcranVersFichier ne permet pas d'écrire dans le fichier : seules les variables des rubriques de fichier sont affectées (c'est-à-dire les variables de l'enregistrement chargé en mémoire). Pour modifier les enregistrements, il faut utiliser les fonctions HAjoute , HModifie , HEcrit
    Pour l'image : http://www.developpez.net/forums/sea...archid=2254116

  6. #6
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    Merci pour la réponse. Je vais mettre mon code, mais pour mettre une image, le lien ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    PROCEDURE ModifModeFenetre(sModeFenetreAppliquée)
     
    // Variables locales
    sCleRelation est une chaîne
    sNomCleLie est une chaîne
    sValCleRelation est une chaîne
     
    // Stocke le mode de la fenêtre
    gsModeFenetre=sModeFenetreAppliquée
     
    // Par défaut, si des boutons de liaison existent, ils sont accessibles
    SI ChampExiste("GP_LIAISON") ALORS {"GP_LIAISON"}..Etat=Actif
     
    // Par défaut, si des boutons d'applications de modifications existent, ils sont invisibles et grisés
    SI ChampExiste("GP_APPLIQUER") ALORS 
    	GP_APPLIQUER..Visible = Faux		
    	GP_APPLIQUER..Etat = Grisé
    FIN
     
    // Passage en mode parcours
    SI sModeFenetreAppliquée="Parcours" OU sModeFenetreAppliquée~="ParcoursLié" ALORS
    	// boutons du mode parcours visibles
    	GP_PARCOURS..Visible=Vrai
    	// boutons du mode modification invisibles
    	GP_MODIF..Visible=Faux
    		// boutons d'application des modifications visibles
    	SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Vrai		
     
    		// En ParcoursLié, l'enregistrement en cours est conservé
    		SI gsModeFenetre~="ParcoursLié" ALORS
    		gnNumEnr = HNumEnr(Client)
    	FIN
     
    	// positionnement sur l'enregistrement en cours
    	SI gnNumEnr<>0 ALORS
    		HLit(Client,gnNumEnr)
    		gnNumEnr = 0
    	// ou positionnement sur le premier enregistrement
    	SINON
    		HLitPremier(Client,IDClient)
    	FIN
     
    	// transfert du buffer du fichier vers les champs de la fenêtre
    	RADAffiche()
     
    // Sinon passage en mode création ou modification
    SINON
    	// Boutons du mode parcours invisibles
    	GP_PARCOURS..Visible=Faux
    	// boutons du mode modification visibles
    	GP_MODIF..Visible=Vrai
     
    	// Gestion du passage de paramètres pour les liens de relation
    	sCleRelation = ExtraitChaîne(gsModeFenetre,2,"=")
    	sNomCleLie = ExtraitChaîne(gsModeFenetre,2,".")
    	SI PAS sNomCleLie~="" ET PAS sNomCleLie~=EOT ALORS
    		// On mémorise la valeur du paramètre de relation
    		QUAND EXCEPTION DANS
    			sValCleRelation = {sCleRelation}
    		FAIRE
    			sValCleRelation = ""
    		FIN
    	FIN
     
    	// si passage en mode création
    	SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS
     
    		SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Faux	// boutons d'application des modifications invisibles
    			// vide les champs
    			HRAZ(Client)
    			RADEfface()
     
    			// En Création, si des boutons de liaison existent, ils sont inaccessibles
    			SI ChampExiste("GP_LIAISON") ALORS GP_LIAISON..Etat=Grisé
    		SINON
    			// boutons d'application des modifications visibles
    			SI ChampExiste("GP_APPLIQUER") ALORS GP_APPLIQUER..Visible=Vrai	
    			// stocke le numéro d'enregistrement en cours
    				gnNumEnr = HNumEnr(Client)
     
    		FIN
    	// transfert du buffer du fichier vers les champs de la fenêtre
    	RADAffiche()
     
    	// On regarde si c'est un lien pour les FICHE sur fichier de relation 
    	// (paramère de la forme Création=XXX ou Modif=XXX)		
    	SI PAS sNomCleLie~~"" ALORS
    		sNomChamp est une chaîne = RADRechercheChamp(sNomCleLie)
    		SI PAS sNomChamp~="" ALORS
    			{sNomChamp,indChamp}..Etat = Grisé
    			// Si on est en mode Création, on doit mettre la valeur actuelle du fichier lié
    			SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS {sNomChamp,indChamp} = sValCleRelation
     
    			// Est-ce qu'un champ vision est associé à ce champ
    			SI ChampExiste("Vision_"+sNomChamp) ALORS
    				{"Vision_"+sNomChamp,indChamp}..Etat = Grisé
    			FIN			
    		FIN	
    	FIN
     
    FIN
     
    SI Gauche(sModeFenetreAppliquée,8)~="Création" ALORS
    	//	Ajout de la date et de la personne 
    	SaisiLe = DateSys()
    	SaisiPar = gpwRecupInfoUtilisateur(gpwInfoLogin)		
    SINON SI Gauche(sModeFenetreAppliquée,5)~="Modif" ALORS
    	ModifiéLe = DateSys()
    	ModifiéPar = gpwRecupInfoUtilisateur(gpwInfoLogin)		
    FIN

Discussions similaires

  1. [WD14] Deux boutons validation dans une seule fenêtre
    Par ilalaina dans le forum WinDev
    Réponses: 4
    Dernier message: 29/09/2009, 16h05
  2. Ouverture d'un fichier dans une nouvelle fenêtre
    Par Bono_BX dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/04/2009, 08h52
  3. graphique dans une seule fenêtre
    Par nostress dans le forum SAS STAT
    Réponses: 2
    Dernier message: 06/08/2008, 11h54
  4. Ouvrir un fichier dans une nouvelle fenêtre
    Par paradeofphp dans le forum ASP.NET
    Réponses: 17
    Dernier message: 20/11/2007, 15h31
  5. Ouvrir une adresse dans une seule fenêtre
    Par efficks dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/04/2006, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo