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 :

[WD9] Enregistrer donnée d'une table dans base Access


Sujet :

WinDev

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut [WD9] Enregistrer donnée d'une table dans base Access
    Bonjour tout le monde,

    Ma table(tableau de mon application) correspond aux actes ou Produits dont on a besoin lors d'une intervention.
    Cette Table se remplit de deux manière :
    * Lorsqu'on choisit le numéro d'intervention c'est à dire si des actes ou produit correspondent déja à l'intervention.
    * Lorsqu'on click sur un bouton (qui ouvre une autre fenêtre....) pour les actes et un autre pour les produits.

    J'aimerais que lorsque je clique sur un autre bouton "Valider" que cela enregistre les ajouts effectués par le clique des boutons.

    Je sait qu'il existe TableEnregistre mais il me dise que mon tableau n'est pas relié à un fichié mais je peux difficilement le relié à un fichier vu qu'il y en a deux. (LIGNE_MO_ATELIER et LIGNE_PRODUIT_ATELIER).
    Puis j'ai penssé utiliser la fonction Nouveau mais le problème c'est que lorsque mon tableau se remplit selon le numéro de l'intervention j'utilise la fonction TableAjouteLigne et pareil lorsque c'est par les boutons.

    Je sait pas comment faire pour dire qu'il faut enregistrer les Actes nouveau dans la table (de la base) LIGNE_MO_ATELIER et les Produits nouveau dans la table(base) LIGNE_PRODUIT_ATELIER ??

    Merci d'avance!!

  2. #2
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Si j'ai bien compris ton problème, tu as une table mémoire qui se remplie avec des enregistrements provenant de différentes tables fichiers. Et tu voudrais pouvoir enregistrer le contenu de ta table mémoire dans les différentes tables fichiers.
    Le plus simple à mon avis est de mettre une colonne cachée dans ta table mémoire que tu initialise par "A" ou "P" selon les cas. Par la suite, il te sera facile de parcourir ta table mémoire et de faire les ajouts dans tes différentes tables fichiers par la lecture de cette colonne cachée.

    A+

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Bonjour,

    merci pour ta réponse.

    Le plus simple à mon avis est de mettre une colonne cachée dans ta table mémoire que tu initialise par "A" ou "P" selon les cas
    Dans mon tableau j'ai une colonne qui s enomme "Acte_ou_Produit".

    Voici quelques explications en espérant être plus clairs :
    Ci joint dans le document word, le schéma de ma base Access et la fenêtre de mon application...
    Ma fenêtre correspond au suivi des interventions donc dans cette fenêtre, plusieurs étapes :
    * On choisi différente chose......
    * On choisi un numéro d'intervention déja existant car créé dans une autre fenêtre.
    * Grâce à ce numéro, dans mon tableau nommé "Table1" s'affiche les actes déja enregistré dans ma base(si yen a eu) correspondant à ce numéro d'intervention
    * Ensuite, on a un bouton "Choix_acte" qui me permet d'ouvrir une fenêtre dans lequel on peux choisir d'autres actes.
    * Donc lorsque je clique sur mon bouton "Valider" j'aimerai que ça m'enregistre les données du tableau non existant auparavant dans la base. C'est à dire ceux qu'on a rajouter grace au bouton "Choix_acte". En oubliant pas que certains actes peuvent avoir déja été enregistré auparavant dans la base(Ceux sont ce qui ont été inséré lors du choix du numéro d'intervention).

    Voici le code que j'ai effectué pour le moment. Il me permet d'enregistrer juste les "Actes" dans la table "LIGNE_MO_ATELIER".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LIGNE_MO_ATELIER.LMA_CODEINT = Combo_CodeIntervention 
    LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure 
    LIGNE_MO_ATELIER.LMA_REFACTE = Table1.Référence 
    HAjoute(LIGNE_MO_ATELIER)
    Mais je pense pas que c'est bon. Car faudrais plutot que je fasse selon ceux a ne pas enregistrer...

    Donc comment procéderais tu toi?? Moi j'avais l'idée de voir lesquel on été rajouté automatiquemen lors du choix du numIntervention et enregistré que les nouveaux et pourquoi pas pouvoir enregistrer des modifications des anciens plus précisément : Si nouveaux alors on enregistre sinon on enregistre mais je sait pas trop comment faire.

    Merci d'avance!!

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Bonjour,

    Moi j'avais l'idée de voir lesquel on été rajouté automatiquemen lors du choix du numIntervention et enregistré que les nouveaux et pourquoi pas pouvoir enregistrer des modifications des anciens plus précisément : Si nouveaux alors on enregistre sinon on enregistre mais je sait pas trop comment faire.
    Après mainte reflexion, j'ai pensé à faire de la sorte : lorsqu'on choisit un "acte" où un "produit" cela l'enregistre directement dans la base et l'insert également dans le tableau de l'application.

    Mais mon problème c'est que je ne sait pas trop ou insérer le code pour l'enregistrement dans ma base. J'hésite entre :
    * dans la procédure de la page principale(suiviInter)
    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
    PROCEDURE P_RecupActe_ou_Produit(cpReference est une chaîne, cpDesignation est une chaîne,  clType est une chaîne, clQuantité est un entier)
    nlCherche est un entier
    
    nlCherche = TableCherche( Référence, cpReference)
    SI nlCherche <> -1 ALORS
    	SI clType = "Acte" ALORS
    		Erreur( "Cet acte a déjà été ajouté !")
    	SINON
    		Erreur( "Ce produit a déjà été ajouté !")
    	FIN
    SINON
    	TableAjouteLigne(Table1, cpReference, cpDesignation, clType, clQuantité)
    	LIGNE_PRODUIT_ATELIER.LPA_CODINT = SuiviInter.Combo_CodeINTERVENTION
    	LIGNE_PRODUIT_ATELIER.LPA_REFPDT = cpReference
    	LIGNE_PRODUIT_ATELIER.LPA_QTECONS = clQuantité
    	HAjoute(LIGNE_PRODUIT_ATELIER)
    FIN
    * Dans l'événement du bouton(click) se situant dans la fenêtr eou l'on choisi l'acte que l'on veu insérer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Clic sur le bouton 'chois' se situant dans la fenêtre ou l'on choisit l'acte.
    clLibelle est une chaîne = A_DESIGNACT[ Table_ACTE]
    clType est une chaîne = "Acte"
    clReference est une chaîne = A_REFACT[ Table_ACTE]
    clQuantité est un entier = ""
    
    ExécuteTraitement(SuiviInter.P_RecupActe_ou_Produit, trtProcédure, clReference, clLibelle, clType, clQuantité)
    LIGNE_PRODUIT_ATELIER.LPA_CODINT = SuiviInter.Combo_CodeINTERVENTION
    LIGNE_PRODUIT_ATELIER.LPA_REFPDT = clReference
    LIGNE_PRODUIT_ATELIER.LPA_QTECONS = clQuantité
    HAjoute(LIGNE_PRODUIT_ATELIER)
    Pour le moment, je m'occupe que des "Actes", je verrais par la suite pour les produits. En rouge, le code que j'insert pour l'enregistrement.

    Lorsque je fais cela, il me dit la chose suivante :
    Erreur à la ligne 10 du traitement Clic sur Choix.
    Vous avez appelé la fonction HAjoute.
    Erreur de l'accès OLE DB.
    Numéro d'erreur = 170147

    Echec de la mise à jour de l'enregistrement sur la base de données.

    Détail de l'erreur système :

    Description = Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table 'PRODUIT'.
    Merci d'avance pour votre aide!!

  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
    En ce qui concerne l'erreur, il semblerait (mais sans la structure de la BdD ce n'est qu'une supposition) qu'il soit nécessaire de créer le produit avant d'ajouter l'acte (probablement à cause d'une liaison ?)

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    Désolé, j'ai réussis à résoudre cette erreur, c'étais parce que je m'étais trompé dans le nom des table....

    Maintenat j'ai un problème : En faite j'aimerai qu'en cliquant sur un bouton de ma fenêtre "SuiviIntervention" on enregistre les modification effectuée dans le tableau. Voici le code du boutton :
    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
    HLitRecherche(INTERVENTION, I_CODEINT, Combo_CodeINTERVENTION)
    INTERVENTION.I_COMINT = ObservationInter..ValeurAffichée
    INTERVENTION.I_KMVEHINT = KmVeh..ValeurAffichée
    INTERVENTION.I_PRISCHARG = ChaîneVersDate(Combo_DateIntervention..ValeurAffichée)
    INTERVENTION.I_DATEXPERT = ChaîneVersDate(COMBO_DATE_EXPERTISE..ValeurAffichée)
    INTERVENTION.I_DATRES = ChaîneVersDate(COMBO_DATE_RESTITUTION..ValeurAffichée)
    INTERVENTION.I_NOMEXPER = NomExpert..ValeurAffichée
    SI PAS HModifie(INTERVENTION) ALORS
    	Erreur(HErreurInfo())
    FIN
    
    TableOccurrence(Table1)
    SI Table1.Acte_ou_Produit = "Produit" ALORS
    	HLitRecherche(LIGNE_PRODUIT_ATELIER,LPA_CODINT,Combo_CodeINTERVENTION)
    	SI HModifie(LIGNE_PRODUIT_ATELIER) ALORS
    		LIGNE_PRODUIT_ATELIER.LPA_CODINT = SuiviInter.Combo_CodeINTERVENTION
    		LIGNE_PRODUIT_ATELIER.LPA_REFPDT = Table1.Référence
    		LIGNE_PRODUIT_ATELIER.LPA_QTECONS = Table1.Quantité
    		HModifie(LIGNE_PRODUIT_ATELIER)
    	SINON
    		Erreur(HErreurInfo())
    	FIN		
    SINON
    	HLitRecherche(LIGNE_MO_ATELIER, LMA_CODEINT, Combo_CodeINTERVENTION)
    	SI HModifie(LIGNE_PRODUIT_ATELIER) ALORS
    		LIGNE_MO_ATELIER.LMA_CODEINT = SuiviInter.Combo_CodeINTERVENTION
    		LIGNE_MO_ATELIER.LMA_REFACTE = Table1.Référence
    		LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure
    		HModifie(LIGNE_MO_ATELIER)
    	SINON
    		Erreur(HErreurInfo())
    	FIN
    FIN
    En rouge, le code correspondant à l'enregistrement des modifications.

    Le problème c'est que parfois, il m'affiche une erreur à laquel qu'il y a problème avec le code de l'intervention...

    Donc je souhaiter savoir si pour vous mon code est bon ou s'il a besoin de modification?? S'il en a besoin, desquels??

    Merci d'avance!!

  7. #7
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Salut,
    après tes 2 HLitRecherche il faut faire Htrouve et pas HModifie.

    A+

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Je viens de modifier mais c'est pareil.

    J'ai fais le test suivant : imaginon que dans le tableau de l'intervention choisie, nous avons, 1 acte de référence 0030 et 2 produits de références, 1005, 7700105290. L'acte = 1 heure et le produit 1005 = 3 quantité et celui de référence 7700105290 = 1 quantité. Imaginon que l'on souhaite modifié les chose suivante :
    * acte = 2 au lieu de 1.
    * produit 1005 = 4 au lieu de 3.
    * produit 7700105290 = 2 au lieu de 1.
    Ben l'enregistrement de ces modification ne s'effectue pas mais on a le message suivant qui s'affiche (voir le document word ci-joint)

    Par contre si à chaque changement, on enregistre cela fonctionnne(sauf pour le dernier.

    Je me demande si cela ne vient pas du fait que l'on dit pas "pour chaque ligne du tableau"??(enfin il y a "TableOcurrence(...)").

    Merci d'avance!!

  9. #9
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Désolé mais je n'ai pas pris la peine de relire l'ensemble des messages pour comprendre ton pb.
    La pièce jointe montre que tu essayes de créer une rubrique de type clé qui existe déjà.
    Pour revenir à ton code et les explications que tu donnes, sincèrement je ne comprends pas tout. Il est difficile de te donner une solution ne connaissant pas la structure de tes données.
    Par contre, TableOccurrence() permet de renvoyer le nombre de lignes/colonnes présentes dans un tableau mais en aucun cas de parcourir le tableau.
    Pour te guider un peu, voici un exemple type de code que j'utilise lorsque j'ai une problématique de parcours de table mémoire avec màj de données :
    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
     
    lenIndice est entier=TableOccurrence(MaTable)
    lenCompteur est entier
    POUR lenCompteur=1 A lenIndice
      TableSelectPlus(MaTable)
      HLitRecherche(MonFichier,MaCle,ValeurRecherchée)
      SI PAS HTrouve(MonFichier) ALORS
        MonFichier.MaCle=MaTable.Cle
        MonFichier.Rubrique1=MaTable.Rubrique1
        MonFichier.RubriqueX=MaTable.RubriqueX
        SI PAS HAjoute(MonFichier) ALORS
          Info("Erreur à l'enregistrement des données "+HErreur())
        FIN
        SINON
        MonFichier.Rubrique1=MaTable.Rubrique1
        MonFichier.RubriqueX=MaTable.RubriqueX
        SI PAS HModifie(MonFichier) ALORS
          Info("Erreur à l'enregistrement des données "+HErreur())
        FIN
      FIN
    FIN
    A+

  10. #10
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Bonjour,

    Merci pour ta réponse et ton code mais malheureusement chez moi cela ne fonctionne pas c'est à dire que rien ne s'enregistre.

    Voici le code :
    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
    Indice est un entier = TableOccurrence(Table1)
    Compteur est un entier
    POUR Compteur = 1 A Indice
    	TableSelectPlus(Table1)
    	SI Table1.Acte_ou_Produit = "Acte" ALORS
    		HLitRecherche(LIGNE_MO_ATELIER,LMA_CODEINT, Combo_CodeINTERVENTION)
    		SI PAS HTrouve(LIGNE_MO_ATELIER) ALORS
    			LIGNE_MO_ATELIER.LMA_CODEINT = Combo_CodeINTERVENTION
    			LIGNE_MO_ATELIER.LMA_REFACTE = Table1.Référence
    			LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure
    			HAjoute(LIGNE_MO_ATELIER)
    		SINON
    			LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure
    			HModifie(LIGNE_MO_ATELIER)
    		FIN
    	SINON
    		HLitRecherche(LIGNE_PRODUIT_ATELIER,LPA_CODINT, Combo_CodeINTERVENTION)
    		SI PAS HTrouve(LIGNE_PRODUIT_ATELIER) ALORS
    		LIGNE_PRODUIT_ATELIER.LPA_CODINT = Combo_CodeINTERVENTION
    		LIGNE_PRODUIT_ATELIER.LPA_REFPDT = Table1.Référence
    		LIGNE_PRODUIT_ATELIER.LPA_QTECONS = Table1.Quantité
    			HAjoute(LIGNE_PRODUIT_ATELIER)
    		SINON
    			LIGNE_PRODUIT_ATELIER.LPA_QTECONS = Table1.Quantité
    			HModifie(LIGNE_PRODUIT_ATELIER)
    		FIN
    	FIN
    FIN
    Lorsque je regarde "pas à pas" je me rend compte qu'il ne rentre pas dans la partie "Acte".

    Voici ci-joint(document word), le MPD correspondant à ma base ACCESS.

    Je souhaite Enregistrer les modifications(effectuées dans le tableau) dans ma base ACCESS.

    Merci d'avance!!

  11. #11
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Désolé c'est de ma faute, il faut écrire le tableselectplus avec la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TableSelectPlus(Table1,Compteur)
    A+

  12. #12
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Ok, merci pour la réponse concernant la syntaxe.

    Le problème c'est que ça enregistre juste le produit mais pas l'acte.

    J'explique :
    * Acte 0030 de 1(en heures)
    * Acte 0129 de 2(en heures)
    * Produit 7700125420 de 4(en quantité)

    Voici les modification que je souhaite apporter :
    * Acte 0030 de 2(en heures)
    * Acte 0129 de 3(en heures)
    * Produit 7700125420 de 5(en quantité)

    Mais lorsque je vais dans ma base, je vois qu'il y a juste le produit qui change.
    Pourtant, quand je fais l'exécution pas à pas, pour les actes ça reste bien dans la partie Acte du code. Pour les produits ca passe dans la partie produit du code.

    Cordialement.

  13. #13
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Dans le mode debug (mets des points d'arrêts à chaque instruction et amène le curseur sur la variable), qu'est-ce que tu as comme valeur dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SI Table1.Acte_ou_Produit = "Acte" ALORS
    HLitRecherche(LIGNE_MO_ATELIER,LMA_CODEINT, Combo_CodeINTERVENTION)
    A+

  14. #14
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    amène le curseur sur la variable
    De quel variable parle tu??

    Cordialement

  15. #15
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Au moins celles-ci :
    Table1.Acte_ou_Produit
    Combo_CodeINTERVENTION

    pour voir ce qu'elles contiennent à l'exécution.

    A+

  16. #16
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Donc j'ai mis de spoint d'arrêt... et lorsque j'amène mon curseur sur : 'Table1.Acte_ou_Produit' cela me donne "41 63 74 65" et lorsque j'amène mon curseur sur 'Combo_CodeINTERVENTION' cela me donne "0*1".
    C'est bizarre.

    Donc j'ai ensuite mis des Info(Table1.Acte_ou_Produit) et Info(Combo_CodeINTERVENTION) aprés chaque instruction utilisant ces variables ('Table1.Acte_ou_Produit', 'Combo_CodeINTERVENTION') et les valeurs sont les bonnes.

    Merci d'avance!!

  17. #17
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    C'est étrange, as-tu bien regardé la valeur des variables après le passage dans le code (càd ton point d'arrêt doit se situer à l'instruction suivante) ?

    A+

  18. #18
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Je viens de réessayer et c'est la même chose aue j'obtiens.

    Je comprend pas pourquoi. Bizarre tout ça!!

    Cordialement.

  19. #19
    Membre actif Avatar de Gilles_69
    Inscrit en
    Décembre 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 209
    Points : 251
    Points
    251
    Par défaut
    Salut,
    - 'Table1.Acte_ou_Produit' : as-tu vérifié qu'il n'y a pas de pb de compatibilité entre le type de données de ta table et la valeur affichée (ex : table déclarée en alpha, valeur attendue numérique) ?
    - 'Combo_CodeINTERVENTION' : ajoute "..ValeurAffichée"

    A+

  20. #20
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Gilles_69
    Salut,

    'Table1.Acte_ou_Produit' : as-tu vérifié qu'il n'y a pas de pb de compatibilité entre le type de données de ta table et la valeur affichée (ex : table déclarée en alpha, valeur attendue numérique) ?
    Dans le tableau c'est du texte donc normalement la compatibilité est bonne.

    'Combo_CodeINTERVENTION' : ajoute "..ValeurAffichée"
    J'ai rajoutée "..ValeurAffichée" . Voici le code :
    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
    Indice est un entier = TableOccurrence(Table1)
    Compteur est un entier
    POUR Compteur = 1 A Indice
    	TableSelectPlus(Table1, Compteur)
    	SI Table1.Acte_ou_Produit = "Acte" ALORS
    		HLitRecherche(LIGNE_MO_ATELIER,LMA_CODEINT, Combo_CodeINTERVENTION..ValeurAffichée)
    		SI PAS HTrouve(LIGNE_MO_ATELIER) ALORS
    			LIGNE_MO_ATELIER.LMA_CODEINT = Combo_CodeINTERVENTION..ValeurAffichée
    			LIGNE_MO_ATELIER.LMA_REFACTE = Table1.Référence
    			LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure
    			HAjoute(LIGNE_MO_ATELIER)
    		SINON
    			LIGNE_MO_ATELIER.LMA_NBHUTIL = Table1.NbreHeure
    			HModifie(LIGNE_MO_ATELIER)
    		FIN
    	SINON
    		HLitRecherche(LIGNE_PRODUIT_ATELIER,LPA_CODINT, Combo_CodeINTERVENTION..ValeurAffichée)
    		SI PAS HTrouve(LIGNE_PRODUIT_ATELIER) ALORS
    		LIGNE_PRODUIT_ATELIER.LPA_CODINT = Combo_CodeINTERVENTION..ValeurAffichée
    		LIGNE_PRODUIT_ATELIER.LPA_REFPDT = Table1.Référence
    		LIGNE_PRODUIT_ATELIER.LPA_QTECONS = Table1.Quantité
    			HAjoute(LIGNE_PRODUIT_ATELIER)
    		SINON
    			LIGNE_PRODUIT_ATELIER.LPA_QTECONS = Table1.Quantité
    			HModifie(LIGNE_PRODUIT_ATELIER)
    		FIN
    	FIN
    FIN
    Lorsque j'ai testé, j'ai reçu aucun message d'erreur mais cela n'a rien enregistré.

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Enregistrer les données d'une table dans une autre.
    Par STban94 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/04/2015, 11h35
  2. Enregistrer données d'une liste dans une table
    Par b.billet85 dans le forum VBA Access
    Réponses: 3
    Dernier message: 02/04/2010, 22h18
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41
  5. [VB.NET] Comment créer une table dans base de données ?
    Par ptitesouris dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/05/2006, 08h46

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