Fala Cris e Mestre Alexandre, blz?
Então, do jeito do Cris funfou em partes, mas deu erros. Aí fiz umas modificações, usando o que o Mestre Alexandre fez e funcionou em partes.
Não preenche mais os registros em branco, porém, ainda não consegui um que não insira nos registros que comecem com 2 e 3, que é o mais importante.
Vou demonstrar como funcionam on números de telefone aqui no Brasil, para que o Mestre possa entender:
Os celulares começam em 4, 5, 6, 7, 8, 9 - Nesses pode inserir.
Os fixos começam em 2 e 3. Nesses não tem que inserir.
Aguardo mais luzes de vcs companheiros...(Estamos quase lá...hehehe)
Segue o código como ficou.
Abrasss!!!
Private Sub CmdOK_Click()
Dim Db As DAO.Database
Dim ContaCampo As Integer
Dim Rs As DAO.Recordset
Dim Contador As Integer
Dim cont As Integer
Dim TelFinal As String
Dim stCampo As String
On Error GoTo TratareiErro
Set Db = CurrentDb
For cont = 1 To 4
stCampo = "TEL" & cont
Set Rs = Db.OpenRecordset("Select * from tb_Alunos")
Rs.MoveLast
Rs.MoveFirst
Contador = Rs.RecordCount
SysCmd acSysCmdInitMeter, "Realizando as alterações, aguarde...", Contador
Do While Not Rs.EOF
For ContaOProgresso = 1 To Contador
SysCmd acSysCmdUpdateMeter, ContaOProgresso
Db.Execute "UPDATE tb_Alunos SET " & stCampo & "=Left(" & stCampo & ",2) & 9 &" _
& "right(" & stCampo & ",
WHERE Not IsNull(" & stCampo & ") Or Len(" & stCampo & ") <> 11"
Rs.MoveNext
Next ContaOProgresso
Loop
Next cont
Rs.Close
Db.Close
SysCmd acSysCmdRemoveMeter
MsgBox "OK, Total de: " & Contador & " registros", vbInformation, "Concluído"
Exit_TratareiErro:
Exit Sub
TratareiErro:
MsgBox "Ocorreu uma falha neste processamento." _
& vbCrLf & "Trata-se do erro n°: " & err.Number _
& vbCrLf & "Descrição: " & err.Description, vbCritical, "Erro inesperado"
Exit Sub
End Sub