merci Jean-Michel Ormes j'ai compri
mais svp comment je peux incrémenter un champs de varchar comme cela (2011OP1,....)par année (2011)avec un caractère "OP" plus uhn nombre
merci d'avance
Version imprimable
merci Jean-Michel Ormes j'ai compri
mais svp comment je peux incrémenter un champs de varchar comme cela (2011OP1,....)par année (2011)avec un caractère "OP" plus uhn nombre
merci d'avance
Voilà l'idée, à adapter en vb.net, pour ton cas.Code:
1
2
3
4
5
6
7
8
9
10 en C# : String[] elements = String.Split(new String[]{"OP"});//Tableau avec 2011 et 0001 obtenu if(elements.Count != 2)//erreur return; String nouvelleID = elements[0]+"OP"+(int.Parse(elements[1]) + 1).ToString();//eventuellement try/Catch, histoire de renforcer la sécurité //Pour le ToString, peut-être faire une mise en forme pour avoir le nombre sur 4 chiffres, sinon les 0 de devant sauteront...
merci bcp Arnard
mais ça marche pas svp quelqu'un qui peu m'aider ??????
merci d'avance
1. Poste ce que tu as écrit
2. En quoi ça marche pas ? Non compilation ? Résultat prévu non obtenu ? As-tu testé en pas-à-pas ?
merci ,
voici mon code:
merci d'avanceCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Try Dim elements(0) As String = String.Split(New String() {"OP"}) ''''''''''''//Tableau avec 2011 et 0001 obtenu If (elements(0).Count <> 2) Then Return End If Dim nouvelleID As String = elements(0) + "OP" + (Int.Parse(elements(1)) + 1).ToString() Catch ex As Exception MsgBox(ex.Message) End Try con.Close()
Et tu as quoi durant le pas à pas ? Quel est le résultat que tu obtiens et le résultat attendu ?
il ya des erreur aun niveau de code
mais le code est faut s'il ya une personne qui le corigéCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Try Dim elements(0) As String = String.Split(New String() {"OP"}) ''''''''''''//Tableau avec 2011 et 0001 obtenu If (elements(0).Count <> 2) Then Return End If Dim nouvelleID As String = elements(0) + "OP" + (Int.Parse(elements(1)) + 1).ToString() Catch ex As Exception MsgBox(ex.Message) End Try con.Close()
Code:
1
2
3 Dim elements() As String = ...//Pas d'indice, idem sur le Count Int32.Parse(elements(1))
merci bcp arnard
mais il ya encore dse erreur au niveau de code
voici
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Try Dim elements() As String = String.Split(New String() ("OP")) ''''''''''''//Tableau avec 2011 et 0001 obtenu If (elements(0).Count <> 2) Then Return End If Dim nouvelleID As String = elements(0) + "OP" + (Int32.Parse(elements(1)) + 1).ToString() Catch ex As Exception MsgBox(ex.Message) End Try con.Close()
Dans le post précédent, j'ai indiqué ne pas mettre d'index sur le tableau lors du count...
{"OP"} est devenu ("OP")
Pour la concaténation, tu gardes ce que tu as fait en première page avec les & ? S'agit pas de recopier bêtement, mais de reprendre son soft et de corriger en conséquence...
Et enfin, donne les erreurs quand il y en a... Ca aidera à gagner du temps :roll:
mais comme ça il ya des erreurs surCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'con.Close() Try Dim elements() As String = String.Split(New String() {"OP"}) ''''''''''''//Tableau avec 2011 et 0001 obtenu If (elements(0).Count <> 2) Then Return End If Dim nouvelleID As String = elements(0) + "OP" + (Int32.Parse(elements(1)) + 1).ToString() Catch ex As Exception MsgBox(ex.Message) End Try con.Close()
*(New String() {"OP"})
*elements(0).Count
Pas d'indice sur le count, donc soit :
- elements.Count() //Méthode Linq
- elements.Length //propriété classique des Array
Le split attend un 2e paramètre : une valeur de l'enum StringSplitOptions, tu n'as qu'à mettre StringSplitOptions.None
Et le ToString à la fin, fais-en un ToString("D4") pour avoir un nombre sur 4 chiffres...
merci il reste un seul erreur
au niveau de: String.Split(New String() {"OP"})
j'ai pas compris cette ligne??
merci
Si tu es curieux :Code:String.Split(New String() {"OP"}, StringSplitOptions.None)
http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx
http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx