Boa noite pessoal. Estou aqui novamente... Não é facil ser iniciante em desenvolvimento..rsrsrssr
Na minha aplicação, tenho o seguinte código que funciona perfeitamente:
Private Function adicionarDdd()
'O número de telefone na BD está com 8 dígitos... e vai passar a ter 10 (DDD + Telefone).
Dim ssql As String
Dim atualiza As String
Dim tel_antigo As String
Dim tel_novo As String
Dim contador As Long
contador = 0
ssql = "select Telefone from Tabela1 order by telefone asc"
Set TableAntiga = BancoDeDadosAntigo.OpenRecordset(ssql)
While Not TableAntiga.EOF
tel_antigo = TableAntiga!telefone
If contador < barraProgresso.Max Then
barraProgresso.Value = barraProgresso.Value + 1
barraProgresso.Refresh
If Len(Trim(tel_antigo)) = 8 Then
tel_novo = "19" + tel_antigo
atualiza = "update tabela1 set telefone = " & ""
atualiza = atualiza & tel_novo & " where telefone = " & tel_antigo & ""
BancoDeDadosAntigo.Execute (atualiza)
End If
contador = contador + 1
TableAntiga.MoveNext
Wend
MsgBox contador, vbExclamation
TableAntiga.Close
End Function
Como todos pode observar, o código vai ler todos os campos de telefone do BD e quando o nº de telefone tiver 8 caracteres, ele adiciona + 2 que é referente ao DDD. OK? Perfeito... funciona balinha, porém, por c tratar de 108 mil registros e o usuário não está sabendo o que está acontecendo, resolvi colocar um progress bar.
A partir dai, estou com um problemaço... toda vez que rodo a aplicação ele entra no if de leitura dos 8 caracteres só na primeira vez, dá o update e não entra mais no if.
Já dei break em vários lugares para verificar e a variável tem conteúdo ( com 8 caracteres ) só que ele pula, não entra no update.
Segue o código abaixo.
Private Function adicionarDdd()
'O número de telefone na BD está com 8 dígitos... e vai passar a ter 10 (DDD + Telefone).
Dim ssql As String
Dim atualiza As String
Dim tel_antigo As String
Dim tel_novo As String
Dim contador As Long
contador = 0
ssql = "select Telefone from Tabela1 order by telefone asc"
Set TableAntiga = BancoDeDadosAntigo.OpenRecordset(ssql)
barraProgresso.Visible = True
barraProgresso.Value = 0
barraProgresso.Max = TableAntiga.RecordCount
While Not TableAntiga.EOF
tel_antigo = TableAntiga!telefone
If contador < barraProgresso.Max Then
barraProgresso.Value = barraProgresso.Value + 1
barraProgresso.Refresh
If Len(Trim(tel_antigo)) = 8 Then
tel_novo = "19" + tel_antigo
atualiza = "update tabela1 set telefone = " & ""
atualiza = atualiza & tel_novo & " where telefone = " & tel_antigo & ""
BancoDeDadosAntigo.Execute (atualiza)
End If
End If
contador = contador + 1
TableAntiga.MoveNext
Wend
barraProgresso.Visible = False
MsgBox contador, vbExclamation
TableAntiga.Close
End Function
Como todos pode perceber, só adicionei algumas coisas para o progress bar que funciona, mas talvez pela minha falta de experiência, tem algo que não estou enxergando que está fazendo com que não entre o if e consequentemente não da o update.
Pergunta
Alex Mauricio
Boa noite pessoal. Estou aqui novamente... Não é facil ser iniciante em desenvolvimento..rsrsrssr
Na minha aplicação, tenho o seguinte código que funciona perfeitamente:
Como todos pode observar, o código vai ler todos os campos de telefone do BD e quando o nº de telefone tiver 8 caracteres, ele adiciona + 2 que é referente ao DDD. OK? Perfeito... funciona balinha, porém, por c tratar de 108 mil registros e o usuário não está sabendo o que está acontecendo, resolvi colocar um progress bar. A partir dai, estou com um problemaço... toda vez que rodo a aplicação ele entra no if de leitura dos 8 caracteres só na primeira vez, dá o update e não entra mais no if. Já dei break em vários lugares para verificar e a variável tem conteúdo ( com 8 caracteres ) só que ele pula, não entra no update. Segue o código abaixo.Como todos pode perceber, só adicionei algumas coisas para o progress bar que funciona, mas talvez pela minha falta de experiência, tem algo que não estou enxergando que está fazendo com que não entre o if e consequentemente não da o update.
Obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.