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

    Sequencial

    Compartilhe

    cemsinformatica
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 23/11/2012

    Sequencial

    Mensagem  cemsinformatica em 31/8/2018, 16:35

    Boa tarde
    Preciso criar uma consulta aonde eu tenho um numero e preciso criar um sequencial ate este numero.
    Ex: tenho numero 10 preciso criar sequencial de 1 a 10.
    Também vou ter uma data inicial e este ira criar um sequencial da data somando 07 dias
    Alguem pode ajudar
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Sequencial

    Mensagem  good guy em 31/8/2018, 18:15

    Olá cem,

    Não sei quanto a consulta, mas com um formulário em uma caixa de texto com um looping FOR...NEXT é possível.

    Código:
    Public Function CriarSequencia(ValorInicial As Long, ValorFinal As Long) 'Os parâmetros estabelecem os limites inferior e superior
    'Código de Eduardo Machado (Good Guy) Ano 2018
    On Error Resume Next
    Dim i As Long     'O tipo Long possibilita a inserção de valores acima dos limites de Integer (Sem estouro)
    Dim Intervalo As Integer
    Dim sSimb As Variant

    ValorInicial = Nz(txtValorInicial)      'Caixa de texto para inserir o valor inicial
    ValorFinal = Nz(txtValorFinal)          'Caixa de texto para inserir o valor final
    Intervalo = Nz(txtIntervalo)             'Caixa de texto para inserir o intervalo. Exemplo: Intervalo = 2
                                                        'A sequência será de 2 em 2
    sSimb = Nz(txtSimbolo)                  'Caixa de texto com o símbolo separador (Ex.: 1-2-3-; 1.2.3.;)
        

    For i = ValorInicial To ValorFinal Step Intervalo
        txtSequencia = txtSequencia & i & sSimb  'Caixa de texto grande onde se desenvolverá a sequência
    Next i


    End Function

    CÓDIGO DO BOTÃO:

    Private Sub cmdGerar_Click()
    On Error Resume Next
    If Not IsNull(txtValorInicial) Or Not IsNull(txtValorFinal) Or Not IsNull(txtIntervalo) Then
    Call CriarSequencia(txtValorInicial, txtValorFinal)    'Chama a função com seus parâmetros referenciados pelos argumentos aqui que são as caixas de texto.
    Else
    MsgBox "Preencha, por favor, todos os campos. Separador siginifica um (-) ou (/). Intervalo significa de 1 em 1 ou 2 em 2. " & _
    "Digite 1 ou 2 ou qualquer outro número !!!", vbCritical, "Gerador de Números em Série"
    End If
    End Sub

    PARA SOMAR DATA COM INTERVALO DE UM 1 DIA:

    Código:
    Public Function SomaData()
    'Código de Eduardo Machado (Good Guy) - Ano 2018
    Dim dteDataInicial As Date, dteDataFinal As Date
    Dim strIntervaloTipo As String
    Dim varSimb As Variant
    Dim i As Integer
    Dim intervalo As Integer
    Dim intDiasMax As Integer

    strIntervaloTipo = "d"    ' "d" especifica dias como intervalo.
    varSimb = Nz(txtSimbolo)               'Caixa de texto com o símbolo separador (Ex.: 1-2-3-; 1.2.3.;)
    intervalo = Me.txtIntervalo

    dteDataInicial = Nz(txtDataInicial)      'Caixa de texto para inserir o valor inicial
    dteDataFinal = Nz(txtDataFinal)          'Caixa de texto para inserir o valor final
    intDiasMax = DateDiff("d", dteDataInicial, dteDataFinal)

    For i = 0 To intDiasMax Step intervalo
    txtSequencia = txtSequencia & DateAdd(strIntervaloTipo, i, dteDataInicial) & varSimb

    Next i
    End Function
    Anexos
    ValoresemSerie.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (29 Kb) Baixado 4 vez(es)


    Última edição por good guy em 31/8/2018, 20:48, editado 1 vez(es)
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Sequencial

    Mensagem  good guy em 31/8/2018, 20:43

    Olá Cem,

    Fiz uma pequena modificação no último código para somar datas. Segue em anexo:
    Anexos
    ValoresemSerie.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 5 vez(es)

    cemsinformatica
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 23/11/2012

    Re: Sequencial

    Mensagem  cemsinformatica em 31/8/2018, 22:16

    Boa noite
    Eu utilizado Access 2000 , ao abrir esta dando msg do anexo como banco de dados formato desconhecido
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Sequencial

    Mensagem  good guy em 31/8/2018, 22:58

    Olá cem,

    Segue em anexo no formato Access 2000.
    Anexos
    ValoresemSerie2000.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (52 Kb) Baixado 3 vez(es)

    cemsinformatica
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 23/11/2012

    Re: Sequencial

    Mensagem  cemsinformatica em 31/8/2018, 23:39

    Obrigado e desculpa incomodo
    Ainda esta dando a mesma msg que o banco de dados esta em formato desconhecido
    Abs
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Sequencial

    Mensagem  good guy em 3/9/2018, 15:26

    Olá cem,

    Crie dois formulários como estes e identifique no código da função que já te passei os campos correlatos. Chame a função pelo botão Gerar:

    Gerando sequência de datas com intervalo igual a 7:

    Código:
    Private Sub cmdGerar_Click()
    On Error Resume Next

    Call SomaData
    End Sub

    [Você precisa estar registrado e conectado para ver esta imagem.]

    Gerando sequência de números com intervalo igual a 1:

    Código:
    Private Sub cmdGerar_Click()
    On Error Resume Next
    If Not IsNull(txtValorInicial) Or Not IsNull(txtValorFinal) Or Not IsNull(txtIntervalo) Then
    Call CriarSequencia(txtValorInicial, txtValorFinal)    'Chama a função com seus parâmetros referenciados pelos argumentos aqui que são as caixas de texto.
    Else
    MsgBox "Preencha, por favor, todos os campos. Separador siginifica um (-) ou (/). Intervalo significa de 1 em 1 ou 2 em 2. " & _
    "Digite 1 ou 2 ou qualquer outro número !!!", vbCritical, "Gerador de Números em Série"
    End If
    End Sub

    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Sequencial

    Mensagem  ahteixeira em 3/9/2018, 16:01

    Olá a todos

    Eduardo, tomei a liberdade de adicionar no seu exemplo da mensagem nº 5 também no formato 2000.

    Carlos, tem na mensagem nº 5, no entanto está na hora de começar atualizar, é uma versão antiga.

    cheers
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Sequencial

    Mensagem  good guy em 18/9/2018, 19:27

    Olá cem,

    Adquira os livros abaixo para ampliar os seus conhecimentos:

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

    Para usuário avançado:
    [Você precisa estar registrado e conectado para ver este link.]

    "O temor do Senhor(respeito pela Palavra de Deus, leitura e obediência) é o princípio do conhecimento" (Prov. 1.7)
    Disse Jesus: "E conhecereis a Verdade e a Verdade vos libertará". (Jo 8.32)
    Disse Jesus: “Eu sou a luz do mundo; aquele que me segue, não andará em trevas, mas terá a luz da vida.” (Jo. 8.12)

      Data/hora atual: 16/11/2018, 12:21