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 :

Modifier des données par un script


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 87
    Par défaut Modifier des données par un script
    Bonjour,
    J'ai un fichier contenant plusieurs colonnes avec un total de 39000 lignes d'enregistrements.Ces enregistrements on été saisie tout en majuscule.
    Je voudrais savoir s'il était possible de modifier ces enregistrements par un script par action sur un bouton.Ou tous les mots contenu dans la colonneX séparés par un espace ou une virgule seraient en majuscules et le premier mot aurait aussi
    sa 1ere lettres en majuscule.
    Exemples:
    MARC EN BARRIEUL deviendrai Marc En Barrieul
    CHRISTIAN,JEAN deviendrai Christian,Jean
    Car passer par WDMap s'avère un travail de titan et je n'ai jamais écrit ce genre de code et ne sait vraiment pas la logique à suivre.

    Merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 35
    Par défaut
    Bonjour,

    Vous pouvez procéder comme suivant :
    1- Faire un parcours de toute la table (POUR TOUT ...)
    2- Mettre le tout en minuscule (MonChamps = Minuscule(MonChamp)) + Hmodifie
    3- TantQue double espace Faire un Remplace(MonChamps, " ", " ") // Eliminer les doubles espaces
    4- Vérifier le nombre de caractères espace à chaque fois (chaineoccurence(MonChamp, " "))
    5- Récupérer la position de chaque espace et faire un majuscule de position+1

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Par défaut
    Bonjour,

    pour compléter la réponse de mrabat1 et parce que j'étais en train de le tester, voici approximativement le code a mettre derrière un bouton :

    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
    entCompteur est un entier
     
     
     
    HLitPremier(Table)
     
    TANTQUE PAS HEnDehors(Table)
     
    	SI Table.Champ = ChaîneFormate(Table.Champ,ccMajuscule) ALORS
     
    		Table.Champ = ChaîneFormate(Table.Champ,ccMinuscule)
     
    		Table.Champ[[1]] = ChaîneFormate(Table.Champ[[1]],ccMajuscule)
     
     
     
    		// Traitement des espaces
     
    		entCompteur = Position(Table.Champ," ",1,DepuisDébut)
     
    		TANTQUE entCompteur > 0
     
    			Table.Champ[[entCompteur+1]] = ChaîneFormate(Table.Champ[[entCompteur+1]],ccMajuscule)
     
    			entCompteur = Position(Table.Champ," ",entCompteur + 1,DepuisDébut)
     
    		FIN
     
     
     
    		// Traitement des virgules
     
    		entCompteur = Position(Table.Champ,",",1,DepuisDébut)
     
    		TANTQUE entCompteur > 0
     
    			Table.Champ[[entCompteur+1]] = ChaîneFormate(Table.Champ[[entCompteur+1]],ccMajuscule)
     
    			entCompteur = Position(Table.Champ,",",entCompteur + 1,DepuisDébut)
     
    		FIN
     
     
     
    		HModifie(Table)
     
    	FIN
     
    	HLitSuivant(Table)
     
    FIN
    A aménager selon tes besoins pour les traitements, mais cela répond aux besoins exprimés !

    Nicolas

Discussions similaires

  1. [2012] importation des données par script
    Par raniasb dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/03/2014, 22h38
  2. Réponses: 0
    Dernier message: 15/04/2012, 19h37
  3. Poster des données par un script
    Par julius37 dans le forum Langage
    Réponses: 3
    Dernier message: 09/06/2008, 10h04
  4. Modifier des donnés sql par formulaire (avec variables)
    Par expression dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2008, 10h35
  5. envoyer des données par l'intermédiaire d'un bouton
    Par mathilde50 dans le forum Access
    Réponses: 26
    Dernier message: 28/10/2004, 17h49

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