Modifier windev

hafoda Messages postés 26 Statut Membre -  
 djelcass -
Bonjour,

je veux créer un bouton <MODIFIER> pour pouvoir modifier la ligne sélectionnée d'une table
quand on click sur le bouton modifier une nouvelle fenetre s'ouvre avec des champs remplire
merci d'avance et à très bientôt.

11 réponses

  1. Moyjin Messages postés 138 Statut Membre 10
     
    hlitrecherchepremier
    si htrouve=vrai alors
    hmodifi()
    sinon
    hajoute
    fin
    2
  2. hafoda Messages postés 26 Statut Membre
     
    merci pour la reponse
    oui maintenat ça marche bien,
    mais mon probleme je voudrais que un seul bouton fait deux chose insert et update je ne sais pas est ce qu'il existe ou non.
    0
  3. hafoda Messages postés 26 Statut Membre
     
    merci,
    mon objectif est comme suivante:
    1ere fenetre (T_client)j'ai un table memoire et des bouton noveau;supprimer;modifier,imprimer
    quand je click sur noveau ou modifier un fenetre s'ouvre(F_client)
    cette fenetre contient deux champs de saisie et deux bouton OK et ANNULER
    je voudrais ke le bouton OK fait deux choses insert ou update dans la base de donnee mais pas en meme temps cad=>quand on click sur noveau de la fenetre T_client la fenetre F_client s'ouvre apres on remplir des champs et ensuit on click sur le bouton OK pour faire INSERT.
    est ce que possible ou non?
    merci d'avance.
    0
  4. Moyjin Messages postés 138 Statut Membre 10
     
    alors tu place des parametre en ouverture de fenetre exemple
    Nouvelenregistrement ( bool)
    avec vrai si c'est un nouveau
    et ton id de tes champs pour sic c'est une modification

    et ton code de ton bouton sera

    si Nouvelenregistrement=vrai alors
    hajoute()
    sinon
    hlitrecherchepremier
    si htrouve=vrai alors
    hmodif()
    sinon info("erreur")
    fin
    fin
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. hafoda Messages postés 26 Statut Membre
     
    merci pour la reponse
    j'ai fait ce code là mais ça marche pas
    si T_client.Nouveau=vrai alors 
    ressql=SQLExec("insert into client(code,intitulé) values(' "+F_client.code+" ',' "+F_client.intitulé+" ')" , "req1") 
    SQLFerme("req1") 
    fin 
    si T_Client.Modifier=vrai alors 
    SQLExec("update client set intitulé = ' "+F_client.Intitulé+" ' where code = ' "+F_client.code+" '  ","req2") 
    SQLFerme("req12") 
    FIN 

    j'utilse windev 10 et sql server 2000.
    merci pour l'aide.
    0
  7. Moyjin Messages postés 138 Statut Membre 10
     
    Selon T_client.Nouveau
    cas vrai
    ressql=SQLExec("insert into client(code,intitulé) values(' "+F_client.code+" ',' "+F_client.intitulé+" ')" , "req1")
    SQLFerme("req1")
    cas faux
    SQLExec("update client set intitulé = ' "+F_client.Intitulé+" ' where code = ' "+F_client.code+" ' ","req2")
    SQLFerme("req12")
    autres cas
    // impossible pour un booléen normalment
    fin
    limite tes variable une variable pour savoir si c'est l'ajout ou la modif une varriable suffit

    apres tes erreur vienne peu etre de ton sql
    tu utilise quoi comme BDD ?
    0
  8. hafoda Messages postés 26 Statut Membre
     
    merci ,
    T_Client.noveau et T_Client.modifier permet d'ouvrire meme fenetre F_Client
    j'ai fait ce code mais ça marche pas !!

    j'ai utilise SQL server 2000 et windev .
    0
  9. Moyjin Messages postés 138 Statut Membre 10
     
    si F_client.code est une clé auto incrementer tu n'a pas besoin de la mettre dans la fonction ajoute

    apres le seul conseil que je peu te donner c'est de tester en sql directement tes requete sur la console sql avec de valeur test pour voir si cela vien de ta requete,ou du code
    0
  10. hafoda Messages postés 26 Statut Membre
     
    merci
    F_client.code n'est pas un clé auto increment ;
    oui je teste tjrs les requette sql ça marche sur la console sql mais quand je voudrais executer le code ça marche pas !!!.
    0
  11. djelcass
     
    SI HNbEnr(CarnetAdresses)=0 ALORS RETOUR
    EcranVersFichier()
    HModifie(CarnetAdresses)
    SI ErreurDétectée ALORS
    SI HErreurDoublon() ALORS
    Erreur("Une erreur de doublons est survenue")
    FIN
    SI HErreurIntégrité() ALORS
    Erreur("Une erreur d'intégrité est survenue")
    FIN
    SINON
    Info("Modification effectuée")
    FIN
    TableAffiche(TABLE_CarnetAdresses)
    0
  12. Moyjin Messages postés 138 Statut Membre 10
     
    tu fait un ouvre(nom de ta fenete)
    apres ya 2 solution soit ta clé est dans une variable globale , soit tu la passe en procedure dans le derneir cas de memoire c ouvre( fenetre, param)

    pour etre sur tu tape ouvre() et un f1 dessus pour avoir le détail
    -1