FUNCOES NO VB

MARVB6 05/10/2009 10:44:06
#324425
Bom dia Pessoal!
Gostaria de uma ajudinha se possível.
Estou apredendo agora trabalhar com funçõesdo tipo bolean dentro do VB6, que executam alguma tarefa e me retorna Verdadeiro ou Falso.
Porém hoje estou com uma necessidade diferente que não consegui e não sei é possível fazer:

Preciso criar uma função, onde eu passe como paramentro um ID de uma determinada tabela.Esta função que recebe o ID, deverá fazer um select de dois campos numa tabela e me retorna os valores destes campos.

Consegui fazer parcialmente, fazer o select que me retorna apenas 1 campo, declarando a função do tipo String, porém não sei como fazer para retornar dois campos ou mais da tabela.

Será que alguém pode me ajudar ?

Grato,

Marcelo.
ASHKATCHUP 05/10/2009 10:50:35
#324426
Resposta escolhida
Bom dia, MARVB6.

Você tem várias opções para fazer o que deseja. Vou citar duas que lembrei agora:

-Retornar uma string concatenada


Private Sub Form_Load()
Dim x As String
x = func_teste
Stop
End Sub

Private Function func_teste() As String
[ô]
func_teste = [Ô]Campo 1[Ô] & [Ô];[Ô] & [Ô]Campo 2[Ô]
End Function


-Retornar um vetor


Private Sub Form_Load()
Dim x() As String
x = func_teste
Stop
End Sub

Private Function func_teste() As String()
Dim vetorteste(1) As String
[ô]
vetorteste(0) = 1
vetorteste(1) = 3
[ô]
func_teste = vetorteste
End Function


MARVB6 05/10/2009 11:16:25
#324432
ASHKATCHUP !

Muito obrigado ! Com a ideia dos Vetores consigo resolver meu problema !

Obrigado mesmo!


Abração !


Marcelo.
RO.DRIGOSG 05/10/2009 11:22:11
#324433
Bom dia,

Você tambem pode utilizar uma variavel do tipo ByRef, ou seja, ByRef retorna o valor para a variavel que vc esta passando o valor, veja o exemplo abaixo:

Option Explicit

Private Sub Form_Load()

Dim strParametro1 As String
Dim strParametro2 As String
Dim intID As Integer

Call fRetornaValores(intID, strParametro1, strParametro2)

End Sub

Private Function fRetornaValores(ByVal pID As Integer, _
Optional ByRef pString1 As String, _
Optional ByRef pString2 As String) As Integer

Dim strSQL As String
Dim rs As New ADODB.Recordset

fRetornaValores = vbCancel

strSQL = [Ô]Select ........ where id = [Ô] & pID
[ô].
[ô].
[ô].

If rs.EOF Then
Exit Function
Else
pString1 = rs!parametro1
pString2 = rs!parametro2
End If

fRetornaValores = vbOK

End Function
Tópico encerrado , respostas não são mais permitidas