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]Consulta SQL em ListBox

    dyl2011.programador
    dyl2011.programador
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 525
    Registrado : 08/07/2011

    [Resolvido]Consulta SQL em ListBox Empty Consulta SQL em ListBox

    Mensagem  dyl2011.programador Seg 29 Ago 2011, 14:19

    Bom dia,


    Gostaria de poder contar com a ajuda dos senhores na seguinte questão:

    Tenho uma consulta SQL, SELECT TabAluno.Nome, TabAluno.Nome_Responsável, TabAluno.Cidade," _
    & "TabAluno.Estado, TabAluno.Entrada_001, TabAluno.Saída_001" _
    & " FROM TabAluno
    Os dados retornados são incluídos em um listbox, porém eu gostaria de acrescentar como resultado os campos idade (cálculo retornado apartir do campo nascimento) e permanência (campo retornado dos campos entrada_001 e saída_001), é possível fazer este calculo e retornar os resultados em colunas no listbox via SQL. E como seria, pois tentei o final de semana inteiro e não consegui?

    Alguém poderia me ajudar?

    Atenciosamente,

    Adilson Calixto
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Alexandre Neves Seg 29 Ago 2011, 22:27

    Será
    SELECT Nome, Nome_Responsável, Cidade, Estado, Entrada_001, Saída_001, IdadeAnos(Nascimento, Now()) as Idade, IdadeAnos(Entrada_001, Saída_001) as Permanencia FROM TabAluno
    dyl2011.programador
    dyl2011.programador
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 525
    Registrado : 08/07/2011

    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  dyl2011.programador Seg 29 Ago 2011, 23:22

    Olhe só como está!

    Private Sub CarregaList()
    Dim strSQL

    strSQL = "SELECT TabAluno.Nome, TabAluno.Nome_Responsável, TabAluno.Cidade," _
    & "TabAluno.Estado, TabAluno.Entrada_001, TabAluno.Saída_001, AnoMesDia(TabAluno.Nascimento) As Idade " _
    & " AnoMesDia(TabAluno.Entrada_001) AS Permanencia FROM TabAluno"

    Me.lstConsulta.RowSource = strSQL

    End Sub




    Public Function AnoMesDia(dtData1 As Date) As String
    On Error GoTo AnoMesDia_Err

    Dim sTmp As String
    Dim nDMA As Long
    Dim NewDate As Date
    Dim sSngPlural As String
    Dim dtData2 As Date


    dtData2 = Now

    ' Bloco Ano ---------------------
    ' Calcula número inteiro de anos
    nDMA = DateDiff("yyyy", dtData1, dtData2)
    ' Se Data1+nDMA>Data2, subtrai 1 ano
    If DateAdd("yyyy", nDMA, dtData1) > dtData2 Then
    nDMA = nDMA - 1
    End If
    sSngPlural = " ano, "
    If nDMA > 1 Then sSngPlural = " anos, "
    sTmp = nDMA & sSngPlural

    ' Bloco Mês ---------------------
    ' Nova data de referência
    NewDate = DateAdd("yyyy", nDMA, dtData1)
    nDMA = DateDiff("m", NewDate, dtData2)
    ' Se Data1+nDMA>Data2, subtrai 1 mês
    If DateAdd("m", nDMA, NewDate) > dtData2 Then
    nDMA = nDMA - 1
    End If
    sSngPlural = " mês e "
    If nDMA > 1 Then sSngPlural = " meses e "
    sTmp = sTmp & nDMA & sSngPlural

    ' Bloco Dia ---------------------
    NewDate = DateAdd("m", nDMA, NewDate)
    nDMA = DateDiff("d", NewDate, dtData2)
    sSngPlural = " dia"
    If nDMA > 1 Then sSngPlural = " dias"
    sTmp = sTmp & nDMA & sSngPlural

    ' Valor final da função
    AnoMesDia = sTmp

    AnoMesDia_Fim:
    Exit Function
    AnoMesDia_Err:
    MsgBox Err.Description
    Resume AnoMesDia_Fim
    End Function



    Private Sub Form_Open(Cancel As Integer)
    Call CarregaList
    Dim lngItens2 As Long

    lngItens2 = lstConsulta.ListCount
    If lngItens2 > 1 Then
    txtRegistros = lngItens2 & " Registros"
    ElseIf lngItens2 <= 1 Then
    txtRegistros = lngItens2 & " Registro"
    End If

    Me.chkGeral.Enabled = False
    Me.chkGeral.Value = 0


    End Sub


    Não está exibindo a idade nem a permanência. O que faço Amigão?


    Atenciosamente,



    Adilson
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Seg 29 Ago 2011, 23:42

    strSQL = "SELECT TabAluno.Nome, TabAluno.Nome_Responsável, TabAluno.Cidade," _
    & "TabAluno.Estado, TabAluno.Entrada_001, TabAluno.Saída_001, AnoMesDia([Nascimento]) As Idade " _
    & " AnoMesDia([Entrada_001]) AS Permanencia FROM TabAluno"

    Tente assim...
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Ter 30 Ago 2011, 00:02

    Utilizei no modelo que eu havia feito para ti...


    Me.lstConsulta.RowSource = "SELECT TabAluno.Código, TabAluno.Nome, TabAluno.Endereço, TabAluno.Cidade," _
    & "TabAluno.Estado, TabAluno.Entrada_001, IdadeAtual([Nascimento]) AS Idade, TabAluno.Nome_Responsável" _


    So que tive que alterar no módulo o nome da função de AnoMesDia para IdadeAtual,, pois estava dando erro a utilização da função como AnoMesDia... Talvez essa expressão ja esteja sendo utilizada em alguma parte do seu BD


    Desta forma deu Certo

    IdadeAtual([Nascimento]) AS Idade

    Cumprimentos
    dyl2011.programador
    dyl2011.programador
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 525
    Registrado : 08/07/2011

    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  dyl2011.programador Ter 30 Ago 2011, 00:12

    O CAmpo idade não está aparecendo, só aparece o campo permanencia no lugar de idade que na realidade na ordem vem primeiro idade e depois permanencia. e no evento open do form não aparece nada só depois que digito algo na caixa de texto.

    O que fiz de errado?


    Adilson
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Ter 30 Ago 2011, 00:14

    Envia o BD ai e diz qual form...
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Ter 30 Ago 2011, 00:19

    Creio que não há nada errado.. o que ocorre é que a list carrega sem a função idade,, quando digita ai sim executa a SQL com a função idade... Deves aplicar a mesma função na origem da linha da lst...
    dyl2011.programador
    dyl2011.programador
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 525
    Registrado : 08/07/2011

    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  dyl2011.programador Ter 30 Ago 2011, 00:51

    Mas aí é que tá o problema,
    eu preciso que quando o formulário for aberto já execute uma consulta padrão (trazendo todos os campos atualizados), no change do textbox e no botão e no chkbox. Estou lhe mandando o bd é o form consulta geral. Que tem i list box amarelo.

    Demorei de te passar o link, pois tive que instalar i dropbox (formatei o pc).


    http://dl.dropbox.com/u/37804873/Administrativo%20DEJOSAN.rar



    Agradeçido

    Adilson
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Ter 30 Ago 2011, 01:04

    Na origem da linha na sua list:


    SELECT TabAluno.Nome, TabAluno.Nome_Responsável, TabAluno.Cidade, TabAluno.Estado, TabAluno.Entrada_001, TabAluno.Saída_001, AnoMesDia([Nascimento]) AS Idade, AnoMesDia([Entrada_001]) AS Permanência FROM TabAluno


    No evento ao abrir do form desabilite a linha em verde:

    Private Sub Form_Open(Cancel As Integer)
    'Call CarregaList
    Dim lngItens2 As Long

    lngItens2 = lstConsulta.ListCount
    If lngItens2 > 1 Then
    txtRegistros = lngItens2 & " Registros"
    ElseIf lngItens2 <= 1 Then
    txtRegistros = lngItens2 & " Registro"
    End If

    Me.chkGeral.Enabled = False
    Me.chkGeral.Value = 0


    End Sub
    dyl2011.programador
    dyl2011.programador
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 525
    Registrado : 08/07/2011

    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  dyl2011.programador Ter 30 Ago 2011, 01:48

    Deu certo amigão,

    Vc é Mestre mesmo.

    Brigadooooooooooooooooooooooooooooooooo.


    Agradeçidíssimo,

    Adilson
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Convidado Ter 30 Ago 2011, 12:43

    O Fórum agradece o Retorno.. Bom trabalho.

    Conteúdo patrocinado


    [Resolvido]Consulta SQL em ListBox Empty Re: [Resolvido]Consulta SQL em ListBox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Dom 19 maio 2024, 18:13