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

    Inserção de nominação automatica no numerdor

    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 14:34

    Bom dia a todos

    Novamento estou aqui com minhas duvidas.

    Tenho uma form em meu BD que possui um campo "codigo" que é tipo numerador automatico, e um outro chamado "contador2", que é tipo texto, que está programado para coletar a númeração no campo "codigo" e adicionar o ano de referencia, exemplo: 0001/2012, assim quando vira o ano o próprio BD reinicia a númeração, este code está funcionando perfeitamente.

    Criei também o campo "reativação" tipo "sim/não" onde na form coloquei como uma caixa de seleção, e tenho por intenção que se o usuario seletar o "reativação", e clique em ok ou outra metodologia sugerida, o BD crie um novo registro e adicione ao campo "codigo" a sigla "rea"

    exemplo.

    "Código" sem seletar o "reativação" - 0001/2012

    "Código" seletado o "reativação" - rea0001/2012

    Preciso também que caso ocorra essa seleção de reativação, determinado campos já preenchidos do registro original sejam reptidos.

    Pergunto, é possivel?

    Existe outra metodologia melhor?

    Grato e na expectativa.

    Kleyton
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 14:42

    Boa tarde, kleyton
    O campo contador2 parece repetir dados do registo: Codigo+AnoQueEstaráNoutroCampo
    Se isto acontecer, não haverá necessidade de ocupar espaço

    Sobre ir buscar dados de registo anterior, caso seja rea, tente no acontecimento AoAlterar do campo Reativacao:
    If Reativacao Then
    TxtCampo1=DLookup(...)
    TxtCampo2=DLookup(...)
    ...
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 17:24

    Alexandre

    Muito obrigado estou precisando bastante...

    Se puderes me ajudar eu mas em VBA ainda sou bem leigo então peço sua ajuda:

    Hoje o contador ele coleta o número registro 0001 e coloca o /ano, e eu preciso que ele coloque o "rea" ao lado deste "0001/2012" caso seja uma reativação, justamente para fazer a diferenciação e assim ficar "rea0001/2012", desta forma não teriamos que associar a seleção da caixa de seleção "reativação" ao campo contador2?

    Sobre a busca de dados conforme você colocou:

    If Reativacao Then - Neste If não teriamos que colocar uma condicionante, sobre só fazer o dlookup caso seja selecionado?

    Obrigado novamente e aguardo ancioso a sua contribuição.

    Grato

    Kleyton
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 18:29

    Onde compõe o código. Nesse lugar, acrescenta-se o prefixo desejado.
    Sobre o IF, o VBA entende como sendo verdadeiro. Assim:
    - If Reativacao Then = If Reativacao=True Then
    - If Not Reativacao Then = If Reativacao=False Then


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 18:59

    Fernando

    Desculpe minha ignorancia de novo, mas estou tentendo entender a sequencia do VBA, que se quero que o BD ao se clicar no reativação crie um novo registro repita o texto de determinado campo do registro de referencia, tenho que indicar de alguma forma de qual registro o BD vai buscar? Certo?

    Desta forma iniciando esse processo criei um campo chamado "registroref" onde o coloquei uma listbox onde ele lista os registros ja feitos, assim o VBA puxaria esssa informação desta lista certo?

    E como fica o code?

    if reativacao=true then
    campo1=dlookup

    Quanto ao prefixo "rea" no codigo eu gostaria que ele só adiciona-se se o reativação fosse selecionado

    Eu entendo que vai dentro do "If Reativacao=True Then" também, porém poderias me ajudar a compor esse code?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 19:21

    Explique como tem a programação que diz ter para criar o numerador automático
    Já tem código de duplicação de registo? se sim, indique-o; se não explique como quer fazer a duplicação


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 19:33

    Não tenho nenhum de duplicãção, tinha a idéia dele ele buscar a duplicação neste campo "ref" que é tipo listbox;

    Não dá certo?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 19:41

    Não estou ver caixa de listagem trabalhar no seu caso, mas não sei pormenores do que pretende
    Explique detalhadamente


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 19:44

    Alexandre

    Criei o seguinte code:

    Private sub reativacao_click()
    If reativacao = true then
    Me.contador2 = format ("rea " + referencia)
    end if
    end sub

    Aparece a seguinte mensagem: erro - tipos incompativeis, dou ok e da certo o contador vira "rea 0001/2012" que era como eu queria que ficasse.

    Podes me ajudar a tirar esse erro?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 19:45

    Experimente Me.contador2 = "rea " & referencia


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 11/10/2012, 19:54

    Não certo, além de ocorrer o erro ainda, desta vez ele parou de adicionar o contador2.

    Pensei no seguinte derrepente o tipo do campo esta errado no módulo do númerador automatico.

    Segue o code do módulo poderias me ajudar se a incompatibilidade esta nele?

    Option Compare Database
    Option Explicit

    Public Function ContadorMudaDeAno(strCampo As String, strsql As String)
    Dim strNum As String, db As Database
    Dim strMax As String, CampoDia As String
    Dim AnoData As String, tbl As Recordset

    Set db = CurrentDb
    AnoData = Format(Date, "yyyy")

    Set tbl = db.OpenRecordset(strsql)
    If tbl.RecordCount = 0 Then
    ContadorMudaDeAno = 1 & "/" & AnoData
    Else
    strMax = tbl(strCampo)
    CampoDia = Mid(strMax, (InStr(1, strMax, "/")) + 1, Cool
    If CampoDia = AnoData Then
    strNum = Left(strMax, (InStr(1, strMax, "/") - 1)) + 1
    ContadorMudaDeAno = strNum & "/" & AnoData
    Else
    MsgBox "O sistema iniciará uma nova contagem dos registros" _
    & vbCrLf & " em função da virada do Ano", vbInformation, "ATENÇÃO"
    ContadorMudaDeAno = 1 & "/" & AnoData
    End If
    End If
    ContadorMudaDeAno = StrZero(ContadorMudaDeAno, 15)
    tbl.Close
    Set db = Nothing

    End Function

    Public Function StrZero(nNumero As Variant, nCasas As Integer)
    StrZero = Right("000" + LTrim(nNumero), nCasas)
    End Function

    Grato
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 11/10/2012, 20:02

    Não sou adepto de numeração automática na execução do registo.
    Tente utilizar Public Function ContadorMudaDeAno(strCampo As String, strsql As String)as string
    Se não der, verifique:
    msgbox referencia 'assim mostrará valor referencia assumido
    Me.contador2 = "rea " & referencia 'contador2 não é confundível? contador2 indicará campo; TxtContador2 indicará caixa de texto


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 19/10/2012, 00:33

    Alexandre

    Desculpe a demora em responder, mas não entendi o campo contador2 é um campo tipo texto, e no modulo está como string, aonde eu colocaria este txtcontador2?

    Sobre a questão do numerador automatico, qual é o ideal, tens alguma sugestão que eu possa casar com esta minha necessidade?

    Grato

    Kleyton
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 19/10/2012, 20:20

    Boa noite, kleyton
    Analisando novamente a mecânica, parece-me aconselhável manter a tabela sem o campo de numeração automática.
    Para ter a certeza, disponibilize a tabela com dados significativos e dir-lhe-ei como obtém a numeração com ou sem reactivação


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 19/10/2012, 20:35

    Boa noite Alexandre

    Conforme conversamos segue o BD com a parte do que necessito.

    Grato

    Kleyton
    Anexos
    Inserção de nominação automatica no numerdor Attachmentreativação.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (195 Kb) Baixado 4 vez(es)
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 19/10/2012, 20:49

    Alexandre

    Neste numerador eu tenho um módulo que ao fim do ano ele zera o contador e inicia ele novamente com o novo ano.

    Obrigado

    Kleyton
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8496
    Registrado : 05/11/2009

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Alexandre Neves 19/10/2012, 21:33

    Os dados significativos são os representativos de todas as situações possíveis. Apresenta-me 1 registo e isto não é significativo.
    Nomeie os campos de forma normalizada para que melhore significativamente


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    kleyton_mendes
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 182
    Registrado : 28/03/2011

    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  kleyton_mendes 22/10/2012, 20:05

    Alexandre

    Não estou conseguindo realizar como estava planejado, pensei então em criar uma form nova só para reativações, criei um campo chamado contador tipo texto, deixei esta form sem numerador automatico, então criei um campo referenciar, que armazanará o numero do documento de referência a ser reativado, e nreativacao que armazerá o numero desta reativação e criei o seguinte código:

    referenciar = InputBox("Favor digitar o POOS de referência a ser reativado: ", "Reativação", "")
    nreativacao = InputBox("Favor digitar a reativação: ", "Reativação", "")
    Me.Contador2r = referenciar + " - " + nreativacao

    Assim o usuario terá que digitar as informações ao invés de ele coletar.

    E o numero agrega as informações.

    Coloquei este codigo no form_load, porém meu desejo é que seja sempre que um registro for inserido, para tanto coloquei o botão novo, como o código padrão do access:

    Private Sub Comando1_Click()

    On Error GoTo Err_Comando6_Click

    DoCmd.GoToRecord , , acNewRec

    Exit_Comando6_Click:
    Exit Sub

    Err_Comando6_Click:
    MsgBox Err.Description
    Resume Exit_Comando6_Click

    Pensei em colocar o codigo que criei pós esse do botão, mas não deu certo, ele não executou pós clique, como eu faria isso?

    Grato

    Kleyton

    Conteúdo patrocinado


    Inserção de nominação automatica no numerdor Empty Re: Inserção de nominação automatica no numerdor

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 10:49