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] Declaração If...Then...Else numa ListBox

    avatar
    Convidado
    Convidado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  Convidado 12/5/2011, 09:24

    Boas,
    tenho uma base de dados de gestão de stocks, nessa BD tem um formulário que contém uma ListBox com todas as referências existentes na BD e o stock de cada uma, e ao fazer duplo clique na referencia que quero vender abre o formulário de venda, até ai tudo bem, mas eu queria fazer uma coisa que não estou a conseguir.

    Ao escolher a referencia, se o stock existente dessa referencia fosse 0 aparecia uma MsgBox a dizer "stock igual a 0", já tentei mas não consigo, porque aparece a MsgBox em todas as referencias, mesmo que estas tenham mais de 0 produtos em stock.

    Pronto, vou deixar aqui o código original dessa ListBox para que me possam ajudar :
    (Penso que seja adequado dizer que encontrei este código na Internet)



    Private Sub lstSearchResults_DblClick(Cancel As Integer)
    On Error GoTo Err_lstSearchResults_DblClick
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "venda2"
    stLinkCriteria = "[ref]=" & "'" & Me![lstSearchResults].Value & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_lstSearchResults_DblClick:
    Exit Sub
    Err_lstSearchResults_DblClick:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_lstSearchResults_DblClick

    End If
    End Sub




    e aqui o que estou a tentar fazer :




    Private Sub lstSearchResults_DblClick(Cancel As Integer)

    If (stock = 0) Then
    MsgBox "stock igual a 0"
    Else


    On Error GoTo Err_lstSearchResults_DblClick
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "venda2"
    stLinkCriteria = "[ref]=" & "'" & Me![lstSearchResults].Value & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_lstSearchResults_DblClick:
    Exit Sub
    Err_lstSearchResults_DblClick:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_lstSearchResults_DblClick

    End If
    End Sub



    Desde já agradeço,

    Miguel Freitas Smile


    Última edição por miguelfreitas em 16/5/2011, 17:48, editado 3 vez(es)
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  vieirasoft 12/5/2011, 11:18

    experimente assim

    stLinkCriteria = "[ChavePrimária]=" & Me![NomedaLista]
    avatar
    Convidado
    Convidado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: Declaração If...Then...Else numa ListBox

    Mensagem  Convidado 12/5/2011, 11:32

    Não dá, aparece uma caixa a pedir para inserir o valor do parâmetro, e nem chega a abrir o formulário.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  JPaulo 12/5/2011, 12:03

    Miguel bom dia;

    A sua listbox tem de ter um SQL, certo ?

    Nesse SQL veja qual a coluna que tem o stock, se é a primeira (Column(0)) ou é na segunda Column(1)

    Mediante isso, você deve ter uma caixa de texto desvinculada no seu form, e no evento vba ao pressionar da sua listbox
    mandar o stock para essa caixa.

    Private Sub lstSearchResults_Click()
    Me.SuaCaixaTexto.Value = Me.lstSearchResults.Column(1)
    Me.SuaCaixaTexto.Requery
    End Sub

    Ae já pode colocar o If

    If Me.SuaCaixaTexto.Value=0 Then
    MsgBox "stock igual a 0"
    Exit Sub
    Else
    ,,,,



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  Convidado 12/5/2011, 12:29

    Bom dia JPaulo, obrigado pela resposta,


    vou tentar implementar o código que me disponibilizou, mas será que não há mesmo maneira de inserir uma declaração If neste código ?



    Private Sub lstSearchResults_DblClick(Cancel As Integer)
    On Error GoTo Err_lstSearchResults_DblClick
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "venda2"
    stLinkCriteria = "[ref]=" & "'" & Me![lstSearchResults].Value & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_lstSearchResults_DblClick:
    Exit Sub
    Err_lstSearchResults_DblClick:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_lstSearchResults_DblClick

    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  JPaulo 12/5/2011, 12:37

    Existe sim, é o If que lhe passei;

    Private Sub lstSearchResults_DblClick(Cancel As Integer)
    On Error GoTo Err_lstSearchResults_DblClick
    Dim stDocName As String
    Dim stLinkCriteria As String

    If Me.SuaCaixaTexto.Value = 0 Then
    MsgBox "stock igual a 0"
    Exit Sub 'aqui pára toda a instrução
    Else
    'se for maior que zero, passa para o abrir do segundo form
    stDocName = "venda2"
    stLinkCriteria = "[ref]=" & "'" & Me![lstSearchResults].Value & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
    Exit_lstSearchResults_DblClick:
    Exit Sub
    Err_lstSearchResults_DblClick:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_lstSearchResults_DblClick
    End Sub



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: Declaração If...Then...Else numa ListBox

    Mensagem  Convidado 12/5/2011, 14:33

    Boa-tarde JPaulo,

    não estou a entender o porque da caixa de texto, vou tentar explicar melhor:

    o formulário onde tem a ListBox tem só mesmo a ListBox nada mais, essa list box tem duas colunas, a coluna onde tem as referencias e a outra coluna mostra a quantidade de produtos em stock de cada referencia.

    pronto, depois essa listboxn tem o evento doubleclick, ao carregar duas vezes abre outro formulário, o de venda, ou seja para meter qual a quantidade de produtos vendidos dessa tal referencia.

    Por isso, acho estranho e nem sequer estou entender o porque da caixa de texto, porque "na minha inocência" penso que o código devia estar todo dentro do evento double click,

    ou seja ao fazer duploclique na referencia o código corria e ia à base de dados consultar a tabela de produtos, e ver se stock fosse 0 então nao deixava abrir o formulário de venda, pois nao faria sentido estar a vender um produto que nao há em stock, OU ia à propria listbox ver se o stock era 0 ou não.

    Espero ter-me expressado melhor, Obrigado.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  JPaulo 12/5/2011, 14:55

    Faça como lhe disse acima e coloque sim toda a instrução dentro do mesmo evento.

    Se a quantidade do stock está na segunda coluna, já sabemos que é a Column(1)


    Private Sub lstSearchResults_DblClick(Cancel As Integer)
    On Error GoTo Err_lstSearchResults_DblClick
    Dim stDocName As String
    Dim stLinkCriteria As String

    Me.SuaCaixaTexto.Value = Me.lstSearchResults.Column(1)
    Me.SuaCaixaTexto.Requery


    If Me.SuaCaixaTexto.Value = 0 Then
    MsgBox "stock igual a 0"
    Exit Sub 'aqui pára toda a instrução
    Else
    'se for maior que zero, passa para o abrir do segundo form
    stDocName = "venda2"
    stLinkCriteria = "[ref]=" & "'" & Me![lstSearchResults].Value & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
    Exit_lstSearchResults_DblClick:
    Exit Sub
    Err_lstSearchResults_DblClick:
    MsgBox Err.Number & " " & Err.Description
    Resume Exit_lstSearchResults_DblClick
    End Sub



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidado
    Convidado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: Declaração If...Then...Else numa ListBox

    Mensagem  Convidado 12/5/2011, 15:20

    Resolvido Very Happy

    Obrigado JPaulo ! Very Happy
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  JPaulo 12/5/2011, 17:33

    Obrigado pelo retorno amigo, o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Declaração If...Then...Else numa ListBox Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido] Declaração If...Then...Else numa ListBox Empty Re: [Resolvido] Declaração If...Then...Else numa ListBox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 04:26