Kyryus Posted March 3, 2008 Report Share Posted March 3, 2008 Dá para por um procidimento dentro de outro?? cumpZ 😛 Link to comment Share on other sites More sharing options...
jpaulino Posted March 3, 2008 Report Share Posted March 3, 2008 Não Link to comment Share on other sites More sharing options...
jpaulino Posted March 3, 2008 Report Share Posted March 3, 2008 Mas qual é a ideia ? Link to comment Share on other sites More sharing options...
Kyryus Posted March 4, 2008 Author Report Share Posted March 4, 2008 tipo... Private Sub [kalker koisa] Private Sub [kalker koisa] (....) End sub End sub Link to comment Share on other sites More sharing options...
jpaulino Posted March 4, 2008 Report Share Posted March 4, 2008 Não assim não dá! O que podes é chamar um procedimento ou função e passar paramêtros, retornando-os ou não. Agora um dentro do outro não permite. Mas tens algum caso práctico onde aplicar. Talvés existam outras alternativas. Link to comment Share on other sites More sharing options...
Kyryus Posted March 4, 2008 Author Report Share Posted March 4, 2008 a linguagem que eu tou a programar nao é bem VB.. é VBA... eu keria excutar uma função dentro de um procedimento... Código: Função: Public Function ConjuntoAcessorios() Dim conjunto As String conjunto = "Acessórios" ConjuntoAcessorios = conjunto End Function e o procedimento: Public Sub cmd_componentes_Click() Dim nome As String nome = "Componentes" Form_frm_artigos.lbl_conjunto.Caption = "Componentes" DoCmd.OpenForm ("frm_artigos") End Sub a ideia era ao clicar no botão.... o caption desse comando ser aribuido a variavel "conjunto" na função... nao sei se me fiz entender... 😞 Link to comment Share on other sites More sharing options...
jpaulino Posted March 4, 2008 Report Share Posted March 4, 2008 Para começar à que distinguir o que é uma função e um procedimento. Uma função tem retomar algo e um procedimento não. Ou seja numa função podes passa alguns parâmetros e retomar algo. Exemplo: Private Function CalculaResultado(x As Integer, y As Integer) As Integer CalculaResultado = x * y End Function Nos procedimentos pode-se também passar parâmetros mas não retorna nada: Exemplo: Private Sub MostraResultado(ValorCalculado As Integer) MsgBox(ValorCalculado) End Sub Essa é a diferença e embora as coisas funcionem, convém utiliza-las da forma correcta. Mas agora a tua questão. Não percebi muito bem mas será isto: Public Function ConjuntoAcessorios(strNome As String) Dim conjunto As String conjunto = "Acessórios " & strNome ConjuntoAcessorios = conjunto End Function Public Sub cmd_componentes_Click() Dim nome As String nome = "Componentes" Form_frm_artigos.lbl_conjunto.Caption = "Componentes" Call ConjuntoAcessorios(nome) DoCmd.OpenForm ("frm_artigos") End Sub Se não for tenta explicar melhor. Link to comment Share on other sites More sharing options...
Kyryus Posted March 5, 2008 Author Report Share Posted March 5, 2008 vou tentar a tua maneira e depois digo alguma coisa... bigado 😞 Link to comment Share on other sites More sharing options...
Kyryus Posted March 6, 2008 Author Report Share Posted March 6, 2008 [pre]Public Function ConjuntoAcessorios(strNome As String) Dim conjunto As String conjunto = "Acessórios " & strNome ConjuntoAcessorios = conjunto End Function[/pre] oia o que significa & strNome? Link to comment Share on other sites More sharing options...
jpaulino Posted March 6, 2008 Report Share Posted March 6, 2008 Bem a ideia é passar informação entre funções/procedimentos. Por exemplo: Function Teste(str As String) As String Return str.ToUpper() End Function Sub Executa() MessageBox.Show(Test("O meu teste")) End Sub >> a ideia era ao clicar no botão.... o caption desse comando ser aribuido a variavel "conjunto" na função... nao sei se me fiz entender... Pelo que percebi queres juntar a uma variável algo. Então tens de passar como argumento e depois juntar a uma variável. Se calhar tenta explicar melhor ? E já agora qual é o Access que estás a utilizar ? Link to comment Share on other sites More sharing options...
Kyryus Posted March 7, 2008 Author Report Share Posted March 7, 2008 Eu experimentei da maneira que disses-te e deu este erro: http://img408.imageshack.us/my.php?image=semttulooo0.jpg nem sei o q significa 😛 ajuda-me aí ah! Estou a utilizar o Access 2007... Link to comment Share on other sites More sharing options...
jpaulino Posted March 7, 2008 Report Share Posted March 7, 2008 Pelo que parece estás a chamar a função assim: =Nomeconjunto() No entanto tens de passar um argumento como string Link to comment Share on other sites More sharing options...
NuGuN Posted March 8, 2008 Report Share Posted March 8, 2008 Bem... como estas a chamar a função não sei, mas sei que quando defines a função tens de lhe dar um tipo. Tu tens public function nomeconjunto(strnome as string) Falta-te o tipo da função, e para isso é public function nomeconjunto(strnome as string) as string Cumps Link to comment Share on other sites More sharing options...
Kyryus Posted March 10, 2008 Author Report Share Posted March 10, 2008 resolvido 👍 bigado 🙂 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now