AJUDA COM CONTAGEM DE NOMES...

KURTGU 01/05/2012 20:56:49
#401148
PESSOAL TENHO UMAS TEXTBOX QUE pegar os dados de um campo no meu bd mysql, tipo os dados sao dario,julio,andre,claudio,maria sao nomes separados por virgulas, como faco pra contar esses nomes? obs todos os nomes estao no mesmo campo ao inserir um novo nome ele so adiciona mais uma virgula e o novo nome...



Como contar tirando as Virgulas....

BD MYSQL...
ALTAIR148 01/05/2012 21:05:49
#401149
Resposta escolhida
Boa noite,

O codigo abaixo conta a quantidade de Nomes, no exemplo abaixo ele retorna uma mensagem dizendo que contem 3 nomes

  Dim Contador As Integer
Contador = 0
Dim StringNomes As String = [Ô]Nome1, Nome2, Nome3[Ô]
Dim delimitador As String
delimitador = [Ô],[Ô]
Dim conteudoLista = Split(StringNomes, delimitador)
Dim i As Integer
For i = 0 To UBound(conteudoLista) + 1
Contador = i
Next
MsgBox([Ô]Existem [Ô] & Contador & [Ô] nomes[Ô])



KURTGU 01/05/2012 21:27:27
#401151
Vlw cara era isso mesmo, gostei desse sistema, ele funciona pra qualquer delimitador que eu quiser ne tipo delimitador = [Ô],[Ô] e so mudar isso que o resto ele faz...vlw cara...
KURTGU 01/05/2012 22:47:51
#401158
cara ja quebrei a cabeca ja fucei em tudo aqui desculpa reabri o topico mais, tipo mesmo tendo 0 nomes na text box ele conta como um ja fucei e revirei tudo e nao entendi o por que....da uma forca ai...vlw desde ja...
KURTGU 01/05/2012 22:49:08
#401159
Meu codigo ficou assim

Dim Contador As Integer
Contador = 0
Dim StringNomes As String = usergostou.Text---------------------aqui e aonde ta os nomes que eu quero contar.....
Dim delimitador As String
delimitador = [Ô],[Ô]
Dim conteudoLista = Split(StringNomes, delimitador)
Dim i As Integer
For i = 0 To UBound(conteudoLista) + 1
Contador = i
Next
MsgBox([Ô]Existem [Ô] & Contador & [Ô] nomes[Ô])
ALTAIR148 01/05/2012 23:05:55
#401160
Então, repare nessa linha

 For i = 0 To UBound(conteudoLista) + 1


Tipo se eu tirar o [Ô]+1[Ô] ele começa a contar do 0.

Exemplo:

vou tirar o [Ô]+1[Ô]

Se tiver 3 nomes a msgbox vai retornar que tem 2 nomes que seria o [Ô]0, 1 e 2[Ô]. Nesse caso pode-se fazer o seguinte

Dim Contador As Integer
Contador = 0
Dim StringNomes As String = [Ô]Altair[Ô]
Dim delimitador As String
delimitador = [Ô],[Ô]
Dim conteudoLista = Split(StringNomes, delimitador)
Dim i As Integer
For i = 0 To UBound(conteudoLista) + 1
Contador = i
Next
Contador -= 1
MsgBox([Ô]Existem [Ô] & Contador & [Ô] nomes[Ô])


Assim se a string estiver em branco ele sempre vai retornar 0.

Uma coisa muito importante que vale lembrar é que, vamos supor que exista apenas 1 nome, sempre que se usa algum delimitador, mesmo tento apenas um registro o delimitador tem que ser inserido no final do nome.

Exemplo

Vamos supor que exista apenas um nome na String.

Ficaria assim

Correto : [Ô]Altair,[Ô]
Errado : Altair

Ou seja, tem a virgula no final do nome.
KURTGU 02/05/2012 00:55:48
#401161
vlw altair pela explicacao funcionou perfeitamente....
Tópico encerrado , respostas não são mais permitidas