MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Numeração personalizada (com base num campo de texto)

    Compartilhe

    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 18/01/2014

    [Resolvido]Numeração personalizada (com base num campo de texto)

    Mensagem  Ricardo84 em Seg 25 Maio 2015, 20:34

    Boa tarde, tenho a necessidade de fazer funcionar o BD que deixo aqui com o seu link.

    [Você precisa estar registrado e conectado para ver este link.]

    A numeração de um determinado documento é dada com base no valor (texto) de um campo, o que dará um Ofício 1, Comunicado de imprensa 1, Despacho 1, etc. A numeração volta a zero todos os anos, mas em relação a isso já estou resolvido, assim como com a função para registar o Utilizador Logado (GetUserName).

    O problema começa com a macro que quer mostrar uma barra que não existe, eliminei essas duas partes da macro e ele abre bem, mas quando quero registar um documento, dá um erro numa parte do código VBA.

    No meu antigo trabalho, isto funcionava bem (acess 2007) agora em 2010 e 2013, não.

    Deixo também os códigos que estou a utilizar para a numeração voltar a 0 e a GetUserName.

    Para voltar a zero (será colocada no campo TipoDoc no evento on dirty)

    'Criado por Balem em 28/07/14
    If Me.RecordsetClone.RecordCount = 0 Then
    ' a tabela está sem registros
    Me.Numero = Format("1", "000") & "/" & Year(Date)

    Else
    If Val(Right(DMax("[Numero]", "TabCartao", "Right([Numero],4)= " & Year(Date)), 4)) <> Year(Date) Then
    MsgBox "Reiniciando contagem dos registros para o novo ano", vbInformation, "Aviso"
    Me.Numero = Format("1", "000") & "/" & Year(Date) + 1
    Else

    Me.Numero = Format(Left(DMax("[Numero]", "TabCartao", "Right([Numero],4)= " & Year(Date)), 4), "000") & "/" & Year(Date)

    End If
    End If

    Para a função GetUserName (atualizada para 64bits)

    'By JPaulo

    Declare PtrSafe Function TSB_API_GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

    Public Function GetUserName_TSB() As String

    Dim lngLen As Long
    Dim strBuf As String

    Const MaxUserName = 255

    strBuf = Space(MaxUserName)

    lngLen = MaxUserName

    If CBool(TSB_API_GetUserName(strBuf, lngLen)) Then
    GetUserName_TSB = Left$(strBuf, lngLen - 1)
    Else
    GetUserName_TSB = ""
    End If

    End Function


    Ricardo84
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 61
    Registrado : 18/01/2014

    Re: [Resolvido]Numeração personalizada (com base num campo de texto)

    Mensagem  Ricardo84 em Sab 08 Ago 2015, 17:22

    por falta de resposta, dou como resolvido.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4467
    Registrado : 15/03/2013

    Re: [Resolvido]Numeração personalizada (com base num campo de texto)

    Mensagem  ahteixeira em Ter 07 Fev 2017, 09:11

    Olá Artur Pinheiro,
    O problema foi resolvido ou ainda se mantem?
    O link não está a funcionar.
    Abraço

      Data/hora atual: Qui 19 Out 2017, 13:46