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


3 participantes

    [Resolvido]OpenArgs retorna NULL

    avatar
    MarcoCosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 25/12/2011

    [Resolvido]OpenArgs retorna NULL Empty OpenArgs retorna NULL

    Mensagem  MarcoCosta 12/2/2012, 16:44

    Olá Pessoal
    Boa Tarde!

    Venho encontrando uma dificuldade na utilização da propriedade OpenArgs. Quando tento acessar o valor da referida propriedade dentro da Sub Form_Open o único valor que obtenho é NULL. Quando acesso o conteudo de OpenArgs em outros eventos posteriores consigo encontrar a string passada como argumento, mas mesmo assim ocorrem falhas eventuais, onde o valor encontrado é NULL.
    Não sei o que posso estar fazendo de errado.

    Meu Office é 2007 e OS o Win7

    O código utilizado é o que se segue:

    Private Sub Pesquisa_Click()
    Dim Arg As String
    If Not Me.AllowEdits Then Exit Sub
    If strUltimoFoco <> "Entrada" Then Exit Sub
    Arg = "frmEntrada" & "+" & Me!txNomeFabricante
    DoCmd.OpenForm "frmPesquisaProd", , , , , , Arg
    strUltimoFoco = ""
    End Sub


    Private Sub Form_Open(Cancel As Integer)
    strOpenArg = Me.OpenArgs
    Call fncCarregalista("[Código do Produto] > 0")
    End Sub


    Grato pela Atenção

    Marco Aurélio
    avatar
    Convidad
    Convidado


    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  Convidad 12/2/2012, 17:03

    Olá Marco

    Arg = "frmEntrada" & "+" & Me!txNomeFabricante

    Esse argumento é do controle txNomeFabricante que está no formulário frmEntrada?


    Se sim, que tal fazer assim:

    Arg = Forms!frmEntrada!txNomeFabricante

    Agora se não for isso, por favor explique o "frmEntrada" e o Me!txNomeFabricante

    Abraços
    avatar
    MarcoCosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 25/12/2011

    [Resolvido]OpenArgs retorna NULL Empty OpenArgs retorna NULL

    Mensagem  MarcoCosta 12/2/2012, 19:58

    Olá Balem,

    Obrigado pela resposta.
    Respondendo suas dúvidas

    O comando txNomeFornecedor realmente pertence ao Formulário frmEntrada.

    Eu desejo receber as as informações no Fromulário frmPesquisaProd, e momento correto para eu receber a informação é durante o evento
    onOpen ou onLoad

    A solução que apontaste funciona. Aliás era assim que estava antes, e nem necessitava de passar via OpenArgs.
    Entretanto, tive que fazer algumas alterações para que o Código ficasse genérico. Ou seja, seja independente das rotinas que o chamam. Por isso, utilizei uma forma de combinar strings utilizando o caracter "+" para que eu pudesse passar diversas informações usando a propriedade OpenArgs (esta propriedade, até onde sei, não aceita matrizes)

    Como eu pretendo utilizar essa independência em outros formulários gostaria, de fato, entender o que está errado no uso da propriedade.

    Att

    Marco Aurélio
    avatar
    Convidad
    Convidado


    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  Convidad 12/2/2012, 20:39

    Marco

    Andei pesquisando sobre o OpenArgs e pelo que vi teu código está correto até onde sei.
    Também posso estar pecando.

    OpenArgs também aceita SQL e creio que é ai que está o trunfo.
    Por favor, dê uma pesquisada na net.
    Sinto não poder ajudar melhor.

    Abraços
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  Avelino Sampaio 12/2/2012, 21:37

    Olá

    Realmente estranho o OpenArgs não receber o valor! Bom, vai então uma alternativa para o seu caso:

    1) Crie num módulo global uma variável do tipo Type para receber os diversos valores. Exemplo:

    Option Compare Database
    Public PesquisaProd As prod
    Type prod
    NomeForm AS String
    Campo As String
    End Type

    2) No evento "Ao clicar da sub passe os valores para variável type

    Private Sub Pesquisa_Click()
    Dim Arg As String
    If Not Me.AllowEdits Then Exit Sub
    If strUltimoFoco <> "Entrada" Then Exit Sub
    PesquisaProd.NomeForm = "frmEntrada"
    PesquisaProd.Campo = Me!txNomeFabricante

    DoCmd.OpenForm "frmPesquisaProd"
    strUltimoFoco = ""
    End Sub

    3) Agora usa a variavel type no "evento Open"

    Private Sub Form_Open(Cancel As Integer)
    Msgbox "O nome do formulário é : " & PesquisaProd.NomeForm
    Msgbox "O Valor da campo : " & PesquisaProd.campo
    End Sub

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    MarcoCosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 25/12/2011

    [Resolvido]OpenArgs retorna NULL Empty Re: OpenArgs retorna NULL

    Mensagem  MarcoCosta 13/2/2012, 17:12

    Avelino
    Boa tarde

    A sua sugestão resolveu o problema. O código não ficou tão portátil quanto eu imaginava, pois ficou dependendo de uma variável externa, mas está funcionando perfeitamente.
    Fiz algumas pesquisas e identifiquei alguns relatos de funcionamento anômalo do OpenArgs.
    Vou ficar com a sua dica que está atendendo plenamente.

    Muito grato

    Marco Aurélio


    avatar
    MarcoCosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 25/12/2011

    [Resolvido]OpenArgs retorna NULL Empty OpenArgs retorna NULL

    Mensagem  MarcoCosta 14/2/2012, 00:40

    Balem e Avelino

    Grato pela ajuda

    Problema resolvido

    Att

    Marco Aurélio
    avatar
    Convidad
    Convidado


    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  Convidad 14/2/2012, 11:10

    Que bom que deu certo Marco

    Valeu pelo retorno

    Boa sorte
    avatar
    hheverson
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 24/07/2015

    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  hheverson 28/1/2019, 02:32

    Um pouco tarde, mas achei o porquê de não aceitar o openArg. Na propriedade do formulário, em "tipo de conjunto de registro" deixe como Dynaset. No cmd.openForm, utilize a expressão acFormReadOnly.

    Assim o Access entenderá que pode repassar o argumento.

    Conteúdo patrocinado


    [Resolvido]OpenArgs retorna NULL Empty Re: [Resolvido]OpenArgs retorna NULL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 18:52