Olá andei pesquisando sobre o tabledef e funcionou legal, com algumas alterações que tive de fazer na pressa pois nao tive tempo de procurar o que estava gerando o erro
Bom vou postar aqui o codigo, para ajudar nas retiradas de duvidas e claro se alguem souber o motivo q esta gerando os erros e puder ajudar fico grato.
Bom os campos que eu precisava inserir eram os Campos:
Banco
Agencia
Conta
O campo PrvErro foi uma forma que achei de forçar o erro 13 e pular para a proxima linha do codigo com o resume next, pois quando eu utilizei a declaração dim field(3) as field para indicar que eram 3 campos q eu ia criar ela dava o erro 13 então preferi nao trabalhar com matrizes e declarar kda campo, para mim funcionou prq eram poucos campos agora qdo forem varios vai ficar complicado ai vou ter de pesquisar o que esta gerando este erro 13.
Bom mas enfim, funcionou as outras prevenções de erro são o 3420 que é continuação do erro 13 na linha do append e o 3191 que ele verifica que ja existem os campos e cancela a instrução. enfim apesar de ficar um pouco extenso o codigo ficou bom pelo fato de realizar o que eu quero sem ter de acessar a maquina do cliente.
Até mais!!!
Public Sub AlteraTabela()
On Error GoTo TRATAERRO
'na declaração:
Dim db As Database
Dim td As TableDef
'exemplo da função:
'AQUI NO "fields(2)", 2 É A QUANTIDADE DE CAMPOS.
'Dim fields(0 To 2) As Field
Dim NomBanco, NomAgencia, NomConta, PrvErro As Field
Set db = DBEngine.Workspaces(0).OpenDatabase(banco)
'AQUI DIGA QUAL É A TABELA.
Set td = db.TableDefs("usuario")
'CRIA OS CAMPOS NA TABELA EXISTENTE SEM MUDAR OS DADOS QUE CONTEM .
Set NomBanco = td.CreateField("BANCO", dbText, 100)
Set NomAgencia = td.CreateField("AGENCIA", dbText, 20)
Set NomConta = td.CreateField("CONTA", dbText, 20)
Set PrvErro = td.CreateField("prv", dbText, 20) 'este campo aqui é só pra gerar um erro e parar a instrução
td.fields.Append NomBanco
td.fields.Append NomAgencia
td.fields.Append NomConta
td.fields.Append PrvErro
TRATAERRO:
Select Case Err.Number
Case Is = 0
Case Is = 13 'erro na crição do campo prv campo q não existe é só para parar a instrução
Resume Next
Case Is = 3420 'erro do append pra para a instrução
Exit Sub
Case Is = 3191 'campos ja criados ele para a instruação
Exit Sub
Case Else
MsgBox "INFORME O CÓDIGO " & Err.Number & " - " & Err.Description & " AO ADMINISTRADOR DO SISTEMA!", vbInformation, "ALTERAR BD"
Exit Sub
End Select
End Sub