MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    [Resolvido]Manipulação de tipo de dados de uma tabela.

    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  ifahidalgo 12/6/2015, 15:04

    Estou algumas dúvidas.

    preciso criar um campo em uma tabela já criada, via codigo VBA, estou utilizando o seguinte código
    CurrentDb.Execute ("ALTER TABLE tblexcel ADD COLUMN hora date;")

    1º - Sendo que preciso que esse campo criado, "hora", também esteja com o formato "hora abreviada".

    2º - em um campo data/hora em uma tabela, encontra-se a data e a hora no mesmo campo, preciso extrair desse campo para outro campo, a hora.
    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1037
    Registrado : 23/04/2013

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty Re: [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  Uilson Brasil 12/6/2015, 15:18

    Amigo, dê uma lida na matéria do link abaixo do mestre Avelino Sampaio:

    http://www.usandoaccess.com.br/dicas/dicas-praticas-de-access-parte-7.asp?id=1&idlista=224#inicio


    abraços,


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty Re: [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  ifahidalgo 12/6/2015, 16:17

    fiz a leitura do site mas não consegui achar.

    já tenho o campo como data/hora, mas preciso que no campo fique com o formato hora abreviada.

    dúvida é

    CurrentDb.Execute ("ALTER TABLE tblexcel ADD COLUMN hora time;")

    nesse codigo será que quando coloco o campo hora como time, depois posso uar o format hh:mm, como fazer isso nesse codigo?


    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1037
    Registrado : 23/04/2013

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty Re: [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  Uilson Brasil 12/6/2015, 20:28

    Amigo se você já tem o campo na tabela não há a necessidade de cria-lo. Certo?
    Veja o seu código: CurrentDb.Execute ("ALTER TABLE tblexcel ADD COLUMN hora time;")

    Alterando o tipo de campo:
    Código:
    currentdb.Execute "ALTER TABLE suatabela ALTER COLUMN seucampo TIME;"


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access
    avatar
    ifahidalgo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 381
    Registrado : 13/10/2011

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty Re: [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  ifahidalgo 12/6/2015, 23:20

    achei na internet, a solução para as minhas 2 questões

    no site accessdoprogramador

    On Error GoTo TratareiErro

    'Variável para referenciar o banco de dados
    Dim Db As DAO.Database
    'Variável para referenciar o conjunto de registros
    Dim Rs As DAO.Recordset
    'Variável que armazenará o n° total de registros a serem percorridos no loop
    Dim Contador As Long
    'Variável que armazenará a contagem de registros a cada passada do loop
    Dim ContaOProgresso As Long
    'Variável que receberá a letra que será capturada usando a função Left(Rs(Index),1)
    Dim L As String

    'Instancio o objeto banco de dados
    Set Db = OpenDatabase(CurrentProject.Path & "\SysFunc.mdb")
    'Instancio o recordset, ou seja, o conjunto de registros da tabela
    Set Rs = Db.OpenRecordset("tblexcel")

    'Movimento no recordset até o ultimo registro para precisar o número de registros no recordset
    Rs.MoveLast

    'Alimento a variável Contador com o total de registros no conjunto de dados, que é o recordset
    Contador = Rs.RecordCount

    'Movo para o primeiro registro do recordset
    Rs.MoveFirst

    'Utilizo o SysCmd para executar uma barra de progresso para indicar a que pé encontrará o processamento.
    SysCmd acSysCmdInitMeter, "Realizando as alterações, aguarde...", Contador

    'Inicio o loop que irá do primeiro registro ao ultimo
    'Veja que já sabemos a quantidade a ser percorrida na variável Contador
    For ContaOProgresso = 1 To Contador

    'Atualizo as informações da barra de progresso
    'Mostrará a evolução de 1 a cada valor passado do Contador
    SysCmd acSysCmdUpdateMeter, ContaOProgresso

    'Utilizo a função Left para capturar somente a letra no inicio da string e armazenar na variável L
    L = Left(Rs(0), 10)

    'Abro a edição na linha que estou passando
    Rs.Edit
    'Já com a letra capturada a insiro na coluna Letra
    Rs(12) = L
    'Atualizo o registro
    Rs.Update

    'E vou para o próximo
    Rs.MoveNext

    'Aqui acontece o loop, ou seja, retorno lá pra cima novamente
    'apartir do For ContaOProgresso eu faço mesmo procedimento que fiz na linha de registro anterior.
    Next ContaOProgresso


    'Quando o For ContaOProgresso = 1 chegar ao total do Contador, o loop terá chegado ao seu final.
    'Não resta mais nada a não ser fechar o recordset
    Rs.Close
    'E também o banco
    Db.Close

    'Removo a barra de progresso
    SysCmd acSysCmdRemoveMeter

    'E informo uma mensagem dizendo o número de registros percorridos
    MsgBox "OK, Total de: " & Contador & " registros", vbInformation, "Concluído"


    Exit_TratareiErro:
    Exit Sub

    'Se algo impedir o funcionamento do código, emite uma mensagem informando ao usuário qual o erro
    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
    Uilson Brasil
    Uilson Brasil
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1037
    Registrado : 23/04/2013

    [Resolvido]Manipulação de tipo de dados de uma tabela. Empty Re: [Resolvido]Manipulação de tipo de dados de uma tabela.

    Mensagem  Uilson Brasil 12/6/2015, 23:39

    IfaHidaldo,

    Obrigado pelo retorno e parabéns por ter vasculhado até encontrar a solução. Isso demonstra a tua vontade em aprender, buscando a solução em vez de esperar que outro resolva por ti.


    Abraços


    .................................................................................
    ::: Uilson Brasil
    ::: Design in Microsoft Access

      Data/hora atual: 2/12/2022, 00:44