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]Criar um sequencial em uma consulta

    Compartilhe
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 775
    Registrado : 09/11/2012

    [Resolvido]Criar um sequencial em uma consulta

    Mensagem  =>Nois em 20/12/2018, 12:57

    bom dia!

    preciso acrescentar em um consulta um numero sequencial com base no ultimo acrescido de + 1

    se ultimo é 10, preciso que ao importar os registros ele me retorne o sequencial a partir do 11



    Código:
    INSERT INTO tbl_inventario_geral ( Desenho_nota, Descricao_nota, Qtde_Nota, Bem_Nota, Dac_Nota, Locacao_Nota, Nome_Inv, Responsavel_Nota, Data_HR_Nota, Nome_Arquivo_Nota, Status, Num_Nota )
    SELECT tbl_inventario_Excel.Desenho_nota, tbl_inventario_Excel.Descricao_nota, tbl_inventario_Excel.Qtde_Nota, tbl_inventario_Excel.Bem_Nota, tbl_inventario_Excel.Dac_Nota, tbl_inventario_Excel.Locacao_Nota, [Forms]![frm_inventario_importar]![txtNomeInventario] AS InsereNomeInv, [Forms]![frm_inventario_importar]![txtResponsavel] AS InsereResponsavel, Now() AS InsereDtHr, [Forms]![frm_inventario_importar]![txtNomeArquivo] AS InsereNome, "ATIVO" AS InsereStatus, pega_Reg() AS InsereNumNota
    FROM tbl_inventario_Excel;

    o problema esta aqui: pega_Reg() AS InsereNumNota


    montei isso só que ainda não consegui fazer funfar

    Código:
    Function pega_Reg()

    Dim ULTIMO_REG, ttRegistros, NotaResultado As Double

    ULTIMO_REG = Nz(DMax("Num_Nota", "tbl_inventario_Geral"), 0) + 1

    ttRegistros = Nz(DCount("*", "tbl_inventario_Excel"), 1)

    NotaResultado = ULTIMO_REG

    Dim I As Integer

    For I = ULTIMO_REG To ttRegistros

    NotaResultado I

    Next

    End Function


    .................................................................................
    Arrow Att. Nois

    Se tudo não der certo... Descanse e tente novamente!
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7306
    Registrado : 11/05/2010

    Re: [Resolvido]Criar um sequencial em uma consulta

    Mensagem  vieirasoft em 20/12/2018, 13:16

    Utilize uma função para isso. Veja este exemplo e adapte

    Option Compare Database

    Global GBL_Category As String
    Global GBL_Icount As Long

    Public Function increment(ivalue As String) As Long

    If Nz(GBL_Category, "zzzzzzzz") = ivalue Then
    GBL_Icount = GBL_Icount + 1
    Else
    GBL_Category = ivalue
    GBL_Icount = 1
    End If
    increment = GBL_Icount
    End Function
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 775
    Registrado : 09/11/2012

    Re: [Resolvido]Criar um sequencial em uma consulta

    Mensagem  =>Nois em 20/12/2018, 18:38

    não consegui

    pensei em fazer assim mas da problema tb no sequencial

    Dim sSql As String

    sSql = "INSERT INTO tbl_inventario_geral ( Desenho_nota, Descricao_nota, Qtde_Nota, Bem_Nota, Dac_Nota, Locacao_Nota, Nome_Inv, Responsavel_Nota, Data_HR_Nota, Nome_Arquivo_Nota, Status, Num_Nota )"
    sSql = sSql & " SELECT"
    sSql = sSql & " tbl_inventario_Excel.Desenho_nota"
    sSql = sSql & " ,tbl_inventario_Excel.Descricao_nota"
    sSql = sSql & " ,tbl_inventario_Excel.Qtde_Nota"
    sSql = sSql & " ,tbl_inventario_Excel.Bem_Nota"
    sSql = sSql & " ,tbl_inventario_Excel.Dac_Nota"
    sSql = sSql & " ,tbl_inventario_Excel.Locacao_Nota"
    sSql = sSql & " ,Forms!frm_inventario_importar!txtNomeInventario AS InsereNomeInv"
    sSql = sSql & " ,Forms!frm_inventario_importar!txtResponsavel AS InsereResponsavel"
    sSql = sSql & " ,Now() AS InsereDtHr"
    sSql = sSql & " ,Forms!frm_inventario_importar!txtNomeArquivo AS InsereNome"
    sSql = sSql & " ,'ATIVO' AS InsereStatus"
    sSql = sSql & " ,PegaReg() AS InsereNumNota"
    sSql = sSql & " FROM tbl_inventario_Excel;"

    DoCmd.RunSQL sSql


    .................................................................................
    Arrow Att. Nois

    Se tudo não der certo... Descanse e tente novamente!
    avatar
    FabioGO
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/08/2012

    Re: [Resolvido]Criar um sequencial em uma consulta

    Mensagem  FabioGO em 21/12/2018, 12:28

    Pode ser que com recordset seja melhor, veja se esse meu post desse tópico te ajuda: http://www.maximoaccess.com/t34372-resolvidocomo-fazer-uma-tabela-continua#237120
    =>Nois
    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 775
    Registrado : 09/11/2012

    Re: [Resolvido]Criar um sequencial em uma consulta

    Mensagem  =>Nois em 26/12/2018, 12:02

    estava trabalhando em um recordset e consegui concluir hoje, não utilizei seu modelo mas agradeço,

    consegui fechar aqui.

    Obrigado a todos. santa


    .................................................................................
    Arrow Att. Nois

    Se tudo não der certo... Descanse e tente novamente!

      Data/hora atual: 26/3/2019, 15:06