Discussion:
VBA-Funktion mit "mehreren" Ergebnissen...?
(zu alt für eine Antwort)
Roland Klassen
2007-01-12 09:59:06 UTC
Permalink
Hallo NG,

kann ich in VBA mit einer Funktion mehrere Ergebnisse ermitteln?

Ich möchte in einem Formular in einer Prozedur ein Dialog-Formular aufrufen,
indem ich bis zu drei verschiedene Werte eingeben kann und die dann an die
Prozedur übergeben. Es ist dabei vom ersten Wert abhängig, ob noch ein
zweiter und dritter benötigt wird.

So etwas wie:

public function WerteAuswählen () W1 as String, W2 as String, W3 as String
...
end function

gibt's wohl nicht, oder...?

Danke + Grüße
Roland
André Minhorst
2007-01-12 10:14:40 UTC
Permalink
Hallo Roland,
Post by Roland Klassen
kann ich in VBA mit einer Funktion mehrere Ergebnisse ermitteln?
Ich möchte in einem Formular in einer Prozedur ein Dialog-Formular aufrufen,
indem ich bis zu drei verschiedene Werte eingeben kann und die dann an die
Prozedur übergeben. Es ist dabei vom ersten Wert abhängig, ob noch ein
zweiter und dritter benötigt wird.
public function WerteAuswählen () W1 as String, W2 as String, W3 as String
...
end function
gibt's wohl nicht, oder...?
na, es gibt mehrere Varianten. Hier findest Du drei davon:

http://www.access-im-unternehmen.de/173.0.html
http://www.access-im-unternehmen.de/174.0.html
http://www.access-im-unternehmen.de/188.0.html

Ciao
André
--
http://www.access-im-unternehmen.de
http://www.access-entwicklerbuch.de
Stefan Hoffmann
2007-01-12 10:28:11 UTC
Permalink
tach André,
Post by André Minhorst
http://www.access-im-unternehmen.de/173.0.html
<Zitat>
Funktionen mit mehreren Rückgabewerten, Teil I

Funktionen geben in der Regel einen Wert zurück.
</Zitat>

Funktionen geben immer - genau einen - Wert zurück. Dieser kann
allerdings in einigen Sprachen ignoriert werden.

(Je nach Datentyp ist das in der 32bit-Welt: al, ax oder eax.)


mfG
--> stefan <--
Gunter Avenius
2007-01-12 10:22:15 UTC
Permalink
Hallo Roland,
Post by Roland Klassen
kann ich in VBA mit einer Funktion mehrere Ergebnisse ermitteln?
Ich möchte in einem Formular in einer Prozedur ein Dialog-Formular
aufrufen, indem ich bis zu drei verschiedene Werte eingeben kann
und die dann an die Prozedur übergeben. Es ist dabei vom ersten
Wert abhängig, ob noch ein zweiter und dritter benötigt wird.
public function WerteAuswählen () W1 as String, W2 as String, W3 as
String ...
end function
ich verstehe Deine Frage nicht? Willst Du drei Werte in abhänigkeit
übergeben an eine Fuction oder drei Werte zurückerhalten?

Eine übergabe von mehreren Werten kannst Du folgend gestalten:

Deine Überprüfung ob ein zweiter oder dritter Wert erfasst wird muss
im Formular vor Aufruf der Funktion erfolgen.
Public Function WerteAuswählen(W1 As String, Optional W2 As String,
Optional W3 As String)

End Function
--
Gruß
Gunter
_________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
Jörg Ostendorp
2007-01-12 10:39:01 UTC
Permalink
Hallo Roland,
Post by Roland Klassen
kann ich in VBA mit einer Funktion mehrere Ergebnisse ermitteln?
Ich möchte in einem Formular in einer Prozedur ein Dialog-Formular aufrufen,
indem ich bis zu drei verschiedene Werte eingeben kann und die dann an die
Prozedur übergeben. Es ist dabei vom ersten Wert abhängig, ob noch ein
zweiter und dritter benötigt wird.
public function WerteAuswählen () W1 as String, W2 as String, W3 as String
...
end function
gibt's wohl nicht, oder...?
Antworten hast Du ja schon. Ggf. könnte für Dich auch noch folgender Thread
von Interesse sein:

http://groups.google.de/group/microsoft.public.de.access/browse_thread/thread/fe5a6eb3b2206446/790665f725abf60e?&hl=de#790665f725abf60e
--
Grüßle vom Bodensee
Jörg Ostendorp

- Access-FAQ: www.donkarl.com
- my home: www.meersburg.de
Roland Klassen
2007-01-12 16:49:09 UTC
Permalink
Vielen Dank für Eure Hilfe,

ich habs allerdings etwas anders gelöst indem ich den Wert in einer
Variablen gespeichert habe, die ja sowieso bei mir vorhanden war.

Viele Grüße, Roland
Stefan Hoffmann
2007-01-12 17:22:08 UTC
Permalink
tach Roland,
Post by Roland Klassen
ich habs allerdings etwas anders gelöst indem ich den Wert in einer
Variablen gespeichert habe, die ja sowieso bei mir vorhanden war.
Recycling?

Wenn man mehrer Ergebnisse bei einer Funktion braucht, ist meistens
folgendes praktisch (fördert defensive Programmierung):

Public Function Teile(AWert As Long, _
ATeiler As Long, _
AErgebnis As Long) As Boolean

If ATeiler = 0 Then
Teile = False
Else
Teile = True
AErgebnis = CLng(AWert / ATeiler)
End If

End Function


AErgebnis kann auch ein Array oder ein benutzerdefinierter Typ sein.


mfG
--> stefan <--
--
Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm
Mark Doerbandt
2007-01-12 17:45:26 UTC
Permalink
Hallo, Roland,
Post by Roland Klassen
kann ich in VBA mit einer Funktion mehrere Ergebnisse ermitteln?
Du kannst ein Objekt zurueckgeben: Klassen-Module!

;-) Gruss - Mark

Loading...