Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 02 June 2015 15:57

Agnes1981
Juste Inscrit !
Lieu: Montigny le Bretonneux
Date d'inscription: 24 Jan 2006
Messages: 2

Calculer les valeurs d'un champ via script VB

Bonjour,

Je voudrais calculer un champ en fonction d'un autre selon une condition. C'est pourquoi je me suis tournée vers le script VB mais je ne m'en suis jamais vraiment servi et j'ai tenté d'écrire quelque chose avec l'aide, sauf qu'au lancement, j'ai toujours une erreur de type "erreur de syntaxe" mais je ne sais pas si ça vient de mon code script pre-logic ou si c'est juste que je n'ai pas saisi quoi écrire dans la 2e partie [NOM DU CHAMP] =

Donc ce que j'essaye de faire c'est un test, si mon champ de base commence par trois zéros alors mon champ de destination ne récupère que le dernier caractère, si c'est deux zéros alors je prends les deux derniers caractères, etc...

J'avais écrit le code suivant :

Code:

Function FindLabel( [NUMVOIE] )
Dim numero

If Left(  [NUMVOIE], 3  )= "000" Then
numero = Right( [NUMVOIE], 1  )
elseif Left(  [NUMVOIE], 2  )="00" Then
numero = Right( [NUMVOIE], 2  )
elseif Left(  [NUMVOIE], 1  )= "0" Then
numero = Right( [NUMVOIE], 3  )
else
numero = [NUMVOIE]
end if

return numero
End Function

Sans être certaine que ça fait ce que je veux, car je n'utilise jamais cette solution pour calculer un champ, j'utilise le VB Script pour afficher une étiquette élaborée d'habitude.... donc désolée si je suis à côté de la plaque au niveau de la logique du script. Pour la 2e partie [NOM DU CHAMP] = j'ai tenté au pif en mettant numero mais ça ne marche pas (en même temps j'avais peu d'espoir que ça marche, du fait que je l'ai mis au pif)

En espérant que quelqu'un pourra me dépanner, merci de votre aide smile

Hors ligne

 

#2 Tue 02 June 2015 16:04

Agnes1981
Juste Inscrit !
Lieu: Montigny le Bretonneux
Date d'inscription: 24 Jan 2006
Messages: 2

Re: Calculer les valeurs d'un champ via script VB

En fait à force de tourner mes codes dans tous les sens j'ai enfin trouvé la bonne syntaxe...... roll

Code:

Dim maVar
Dim maVar2
Dim maVar3
Dim numero
 
maVar = Left(  [DNVOIRI], 3  )
maVar2 = Left(  [DNVOIRI],  2 )
maVar3 = Left(  [DNVOIRI], 1  )
 
Select Case True
  Case maVar = "000"
     numero = Right( [DNVOIRI], 1  )
  Case maVar2 = "00"
     numero = Right( [DNVOIRI], 2  )
  Case maVar3 = "0"
     numero = Right( [DNVOIRI], 3  )
  Case Else
     numero = [DNVOIRI]
End select

Dans la 2e partie [MON NOM DE CHAMP] = il faut marquer numero


Code:

Dim numeroIndice
 
If [DINDIC] <> "" Then
  numeroIndice = [NUMEROVOIE] & " " & [DINDIC]
Else
  numeroIndice = [NUMEROVOIE]
End if

Dans la 2e partie [MON NOM DE CHAMP] = il faut marquer numeroIndice

Dernière modification par Agnes1981 (Tue 02 June 2015 16:06)

Hors ligne

 

Pied de page des forums

Powered by FluxBB