#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
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......
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