ROBO PARA ATUALIZAR DADOS

FABAO 03/01/2010 12:03:33
#330938
amigo deu erro

type mismatch


Dim i As Integer, num As Integer, texto As String
Do While Not rs.EOF
[ô] Identificar o espaço entre o NÚMERO e o TEXTO
i = InStr(1, rs.Fields([Ô]nome[Ô]), [Ô] [Ô])
[ô] Pegar somente o NÚMERO
num = Trim(Left(Text1, i - 1)) [ô] ############# O erro ocorre aqui
[ô] Pegar somente o TEXTO
texto = Trim(Right(Text1, Len(Text1) - i))
[ô] Aqui você faz o UPDATE
sSQL = [Ô]UPDATE tabela SET nome=[ô][Ô] & texto & [Ô][ô], capitulo=[Ô] & num & [Ô] WHERE nome=[ô][Ô] & rs.Fields([Ô]nome[Ô]) & [Ô][ô][Ô]
con.Execute sSQL
rs.MoveNext
Loop
MsgBox [Ô]Atualização concluída![Ô], , [Ô]Tecla - VBMania[Ô]
TECLA 03/01/2010 13:47:17
#330939
Lógico, pois no mínimo não tem um TEXTBOX chamado Text1 no FORM.
Segue o código alterado:

Dim i As Integer, num As Integer, texto As String
Do While Not rs.EOF
[txt-color=#007100] [ô] Identificar o espaço entre o NÚMERO e o TEXTO[/txt-color]
i = InStr(1, rs.Fields([Ô]nome[Ô]), [Ô] [Ô])
[txt-color=#007100] [ô] Pegar somente o NÚMERO[/txt-color]
num = Trim(Left(rs.Fields([Ô]nome[Ô]), i - 1)) [ô] ############# O erro ocorre aqui
[txt-color=#007100] [ô] Pegar somente o TEXTO[/txt-color]
texto = Trim(Right(rs.Fields([Ô]nome[Ô]), Len(rs.Fields([Ô]nome[Ô])) - i))
[txt-color=#007100] [ô] Aqui você faz o UPDATE[/txt-color]
sSQL = [Ô]UPDATE tabela SET nome=[ô][Ô] & texto & [Ô][ô], capitulo=[Ô] & num & [Ô] WHERE nome=[ô][Ô] & rs.Fields([Ô]nome[Ô]) & [Ô][ô][Ô]
con.Execute sSQL
rs.MoveNext
Loop
MsgBox [Ô]Atualização concluída![Ô], , [Ô]Tecla - VBMania[Ô]
FABAO 03/01/2010 14:41:52
#330941
Tecla

agora inicia bem, mas depois de passar uns 50 registros da [Ô]erro de sintaxe (operador faltando) na expressão da consulta

TECLA 03/01/2010 20:44:34
#330954
Quando o erro ocorre, qual é o valor da coluna NOME?
Faça um DEBUG.
FABAO 03/01/2010 21:00:15
#330956
o valor é esse

[Ô]Eia traga-se um pouco d[ô]água[ô],
FABAO 03/01/2010 21:02:36
#330957
o problema era esse [Ô]d[ô]água[Ô]


tirei o [ô] e parece que deu certo

ta fazendo as atualizações acho que vai demorar um bocado, vamos ver...por enquanto obrigado tecla
FABAO 03/01/2010 21:13:33
#330959
caraca agora naum entendi mais nada





até o registro 2707 foi legalzinho

depois disso ele foi pulando cerca de 100 em 100 registros e atualizava 1 registro até que parou no erro [Ô]type mismatch[Ô] novamente a mesma linha do primeiro erro
TECLA 03/01/2010 22:55:51
#330965
Acho que já sei o que é... na verdade, não há um PADRÃO para todos os registros.
Fiz mais uma alteração, veja se roda até o final:

Dim i As Integer, num As Integer, texto As String
Do While Not rs.EOF
[ô] Identificar o espaço entre o NÚMERO e o TEXTO
i = InStr(1, rs.Fields([Ô]nome[Ô]), [Ô] [Ô])
[ô] Pegar somente o NÚMERO
If IsNumeric(Trim(Left(rs.Fields([Ô]nome[Ô]), i - 1))) Then
num = Trim(Left(rs.Fields([Ô]nome[Ô]), i - 1))
[ô] Pegar somente o TEXTO
texto = Trim(Right(rs.Fields([Ô]nome[Ô]), Len(rs.Fields([Ô]nome[Ô])) - i))
[ô] Aqui você faz o UPDATE
sSQL = [Ô]UPDATE tabela SET nome=[ô][Ô] & texto & [Ô][ô], capitulo=[Ô] & num & [Ô] WHERE nome=[ô][Ô] & rs.Fields([Ô]nome[Ô]) & [Ô][ô][Ô]
con.Execute sSQL
End If
rs.MoveNext
Loop
MsgBox [Ô]Atualização concluída![Ô], , [Ô]Tecla - VBMania[Ô]
FABAO 05/01/2010 00:23:34
#331056
amigo funcionou perfeitamente...porém agora tenho que atuazar a tabela novamente, pois tive que alterar todas as palavras [Ô]d[ô]água[Ô] para [Ô]dágua[Ô] e eram muitas hehe


muito obrigado tecla, vou encerrar o tópico e pontuar, em seguida postarei uma outra duvida bem parecida se puder dar mais uma força...


valew
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas