Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unterformular abhängig von Kombinationsfeld

101 views
Skip to first unread message

zubi

unread,
Apr 4, 2002, 2:25:50 AM4/4/02
to
hallo,

ich will in einem formular ein kombinationsfeld einfügen,
welches je nach wahl des wertes ein anderes unterformular
öffnet. beispiel: es geht um die erfassung von personen
mit verschiedenen funktionen, wobei gewisse daten wie
name, adresse usw. bei allen relevant sind. nach eingabe
dieser daten soll dann anhand der wahl des
kombinationsfeld (bspl. mitarbeiter, kunde, etc.) das
jeweilige unterformular aufgerufen werden.

hab keine grosse erfahrung mit makros, bräuchte jedoch
oben beschriebene funktionalität.

thx zubi

Gunter Avenius

unread,
Apr 4, 2002, 2:37:34 AM4/4/02
to
Hallo zubi,

wäre schön wenn Du Deinen vollständigen Namen in Deinen Newsreader
einträgst.

"zubi" <j.z...@swissonline.ch> schrieb


ich will in einem formular ein kombinationsfeld einfügen,
welches je nach wahl des wertes ein anderes unterformular
öffnet. beispiel: es geht um die erfassung von personen
mit verschiedenen funktionen, wobei gewisse daten wie
name, adresse usw. bei allen relevant sind. nach eingabe
dieser daten soll dann anhand der wahl des
kombinationsfeld (bspl. mitarbeiter, kunde, etc.) das
jeweilige unterformular aufgerufen werden.

****************

Nach Aktualisierung [Ereignisprozedur]:

Select Case Me!DeinKombofeld
Case "Kunde"
'Dein Code zum Uf Wechsel Kunde
Case "Mitarbeiter"
'Dein Code zum Uf Wechsel Mitarbeiter
Case else
'Dein anderer schlauer Code
end select

FAQ Punkt 4.8 (Unterformular wechseln) beschreibt der Uf wechsel.

--
Gruß
Gunter
_________________________________________________
FAQ: http://www.donkarl.com
home: http://www.avenius.com


Jonas Zuberbühler

unread,
Apr 4, 2002, 3:18:56 AM4/4/02
to
herzlichen dank! ...sorry wegen name... aber verstehen
nicht ganz weshalb er von bedeutung ist.

>-----Originalnachricht-----

>.
>

Jonas Zuberbühler

unread,
Apr 4, 2002, 3:52:32 AM4/4/02
to
hab' doch noch mal ne frage: wenn ich nach Aktualisierung
Ereignisprozedur wähle, steht
Private Sub Rolle_BeforeUpdate(Cancel As Integer)

End Sub
. Ich hab' alles gelösch, und Deinen code eingefügt und
angepasst. wie muss ich die zeile "'Dein Code zum Uf
Wechsel Kunde" abändern? genügt hier der titel des neuen
formulares nicht?
und noch was: momentan handelt es sich ja um gleichwertige
formulare, die noch nicht miteinander verbunden sind.
geschieht dies mit der wahl des wertes aus dem kombofeld,
oder muss ich da vorher noch was ändern?
...naja, bin halt neu bei access, deshalb die fragerei...;)
herzlichen dank im voraus!
j. zubi

Gunter Avenius

unread,
Apr 4, 2002, 4:03:29 AM4/4/02
to
Hallo Jonas,
"Jonas Zuberbühler" <j.z...@swissonline.ch> schrieb

hab' doch noch mal ne frage: wenn ich nach Aktualisierung
Ereignisprozedur wähle, steht
Private Sub Rolle_BeforeUpdate(Cancel As Integer)

End Sub
Ich hab' alles gelösch,
*****************

1. Du hast Vor aktualisieren gewählt.
2. Du darfst das nicht löschen !

so sieht der Konstrukt bei Nach Aktualisierung aus:

Private Sub Rolle_AfterUpdate()

End Sub

zwischen Private Sub und End Sub kommt der Code.
***********
. und Deinen code eingefügt und


angepasst. wie muss ich die zeile "'Dein Code zum Uf
Wechsel Kunde" abändern? genügt hier der titel des neuen
formulares nicht?

Bitte schau Dir den Punkt 4.8 in der FAQ dazu an.

Jonas Zuberbühler

unread,
Apr 4, 2002, 4:45:11 AM4/4/02
to
hmmm...also meiner meinung nach is alles richtig
eingegeben, und zwar wie folgt:
Private Sub Rolle_AfterUpdate()
Select Case Me!Rolle
Case "Mitarbeiter"
Me!Rolle.SourceObject
= "DatenErfassung_mitarbeiter"
Case "Aktionär"
Me!Rolle.SourceObject
= "DatenErfassung_aktionäre"
Case Else
'Dein anderer schlauer Code
End Select

End Sub

rolle heisst das kombofeld, datenerfassung sind jeweils
die anderen formulare. wenn ich nun mitarbeiter aus dem
kombofeld wähle, kommt laufzeitfehler 438, welche besagt,
dass das objekt diese methode oder eigenschaft nicht
unterstütze. is mein vorhaben nicht realisierbar, oder hab
ich (einmal mehr) was falsches eingegeben?

Jürgen Volke

unread,
Apr 4, 2002, 5:17:04 AM4/4/02
to
Hallo Jonas
<Zitat>

eingegeben, und zwar wie folgt:
Private Sub Rolle_AfterUpdate()
Select Case Me!Rolle
Case "Mitarbeiter"
Me!Rolle.SourceObject
= "DatenErfassung_mitarbeiter"
Case "Aktionär"
Me!Rolle.SourceObject
= "DatenErfassung_aktionäre"
Case Else
'Dein anderer schlauer Code
End Select

End Sub

rolle heisst das kombofeld, datenerfassung sind jeweils
die anderen formulare.

</Zitat>

und warum willst du dann dem Kombofeld ein SourceObject
zuweisen??
da muß doch dann das UFO hin:

me.UFO.SourceObject=...

HTH Jürgen

Jonas Zuberbühler

unread,
Apr 4, 2002, 7:42:12 AM4/4/02
to
hallo,

also, ehrlich gesagt hab ich weder von access noch von vba
ne grosse
ahnung. deshlab sagen mir die zeilen die Du mir geschickt
hast nicht
allzuviel.

Select Case Me!Rolle <-hier definier ich mein KomboFeld
des
Formulars DatenErfassung_generell

Case "Kunde" <-auswahlmöglichkeiten des KomboFeldes
Rolle

Me!UFo-Element.SourceObject
= "DatenErfassung_kunden" <-
hier k.a. was läuft. UFo sagt mir ned viel,
unterformularobjekt. aber
was muss ich hier definieren? ein objekt aus
DatenErfassung_kunden,
aber welches???

mein ziel isses, dass ich irgendeine person erfassen kann
in
_generell mit name, adresse etc., dann am schluss wählen
kann, ob es
sich um einen kunden, mitarbeiter etc. handelt. nach der
wahl sollte
dann das entsprechende unterformular kommen, wo ich dann
spezifische
daten zur Person 5 bspl. eingeben kann. die tabellen sind
also über
ne id verbunden.

Jürgen Volke

unread,
Apr 4, 2002, 7:57:35 AM4/4/02
to
Hallo Jonas
<Zitat>

also, ehrlich gesagt hab ich weder von access noch von vba
ne grosse ahnung. deshlab sagen mir die zeilen die Du mir
geschickt
hast nicht allzuviel.

Select Case Me!Rolle <-hier definier ich mein KomboFeld
des
Formulars DatenErfassung_generell

</Zitat>

hier wird nix definiert! du beginnst hier eine Select
Case-Anweisung

<Zitat>


Case "Kunde" <-auswahlmöglichkeiten des KomboFeldes
Rolle

Me!UFo-Element.SourceObject
= "DatenErfassung_kunden" <-
</Zitat>

du mußt doch in deinem Formular ein Steuerelement
"UnterFormular/Unterbericht" definiert haben. Access nennt
die dann meistens Eingbettet123

<Zitat>


hier k.a. was läuft. UFo sagt mir ned viel,
unterformularobjekt. aber
was muss ich hier definieren? ein objekt aus
DatenErfassung_kunden,
aber welches???

</Zitat>

also dann halt Me.Eingebettet123.SourceObject=...

HTH Jürgen

Gunter Avenius

unread,
Apr 4, 2002, 7:59:02 AM4/4/02
to
Jonas Zuberbühler schrieb folgendes:

> hallo,
>
> also, ehrlich gesagt hab ich weder von access noch von vba
> ne grosse
> ahnung. deshlab sagen mir die zeilen die Du mir geschickt
> hast nicht
> allzuviel.

Kain Problem, kannst es ja lernen, wir haben alle klein angefangen.

> Me!UFo-Element.SourceObject
> = "DatenErfassung_kunden" <-
> hier k.a. was läuft. UFo sagt mir ned viel,
> unterformularobjekt. aber
> was muss ich hier definieren? ein objekt aus
> DatenErfassung_kunden,
> aber welches???

UFo-Element bedeutet: Du hast ein Unterformularsteuerelement in Deinem
Formular. Klicke dieses an, Menüleiste Ansicht / Eigenschaften.
Registerblatt "Andere", Eintrag "Name". Dieser Name ist damit gemeint. Wenn
das Unterformularsteuerelment "Eingebettet3" lautet trägst Du:

Me!Eingebettet3.SourceObject = "DatenErfassung_kunden"

Du kannst auch mal die Onlinehilfe zu rate ziehen. Im Code Editor den Cursor
in den Befehl setzten den Du nicht verstehst und Taste [F1] drücken.

Jonas Zuberbühler

unread,
Apr 4, 2002, 8:32:56 AM4/4/02
to
ich sachs ma so: einen schritt weiter bini! ;) also das
mit dem namen hab ich doch begriffen. das problem wahr
wahrscheinlich, dass mein ufo gleich hiess wie das
zugehörige feld und die bezeichnung, nämlich alles
rolle...vielleicht spielt das auch keine rolle, ka.. auf
jeden fall hab ich's nun unbenannt auf Funktion. k, alles
wieder eingefügt, auf kombo Funktion geklickt, Kunde
ausgewählt: hmmm...keine fehlermeldung mehr, in der
statusliste steh was von berechnung läuft, ausgeben tut er
nix. es erscheint also kein unterformular oder ähnliches.
name des unterformulars stimmt, bestehen tut das formular
auch.
vielleicht hast Du ja noch ne idee... ich hab langsam das
gefühl, dass der das ned machen will...loel!

jonas

unread,
Apr 4, 2002, 9:14:08 AM4/4/02
to
hmmm... wenn ich die beiträge noch mals lese, hab ich das
gefühl, dass wir aneinander vorbei sprechen.
steuerelement im formular: das sollte meiner meinung nach
bei mir das kombinationsfeld sein, funktion heisst das
jetzt.
ufo dachte ich, sei das gleiche, da ich ja über das
kombofeld auf das uf zu greiffen will.
da Du aber meintest, ich müsse doch ein steuerelement für
unterformular/-bericht haben, bin ich ziemlich sicher,
dass ich was machen will, was ned geht: nämlich mit einem,
und nur einem kombofeld ein uf steuern.

jonas

unread,
Apr 4, 2002, 9:12:56 AM4/4/02
to

jonas

unread,
Apr 4, 2002, 9:13:46 AM4/4/02
to

Gunter Avenius

unread,
Apr 4, 2002, 9:30:30 AM4/4/02
to
jonas schrieb folgendes:

Es ist ziemlich anstrengend alles in Kleinschrift zu lesen :-(


Du benötigst ein Kombinationssteuerelement und ein Unterformular
Steuerelement.
Für das Unterformularsteuerelemet benötigst du mehrer Formulare, welche du
jeweils dem Steuerelement zuweissen tust.

Jonas Zuberbühler

unread,
Apr 4, 2002, 9:28:53 AM4/4/02
to
:)))) juhu!
also, alles funzt! hab da wirklich was falsch verstanden.
ich fragte mich die ganze zeit: hmm...wo wird denn das
unterformular eingebettet, wenn man kein extrafeld dafür
macht??? ...loel!

also ganz herzlichen dank für die hilfe! melde mich
bestimmt noch ein paar mal, bis die datenbank komplett ist!

grüsse
zubi@fastdurchgedreht;)

Jürgen Volke

unread,
Apr 4, 2002, 10:31:02 AM4/4/02
to
Hallo Jonas
<Zitat>
also, alles funzt!
</Zitat>

na klasse!

<Zitat>


hab da wirklich was falsch verstanden.
ich fragte mich die ganze zeit: hmm...wo wird denn das
unterformular eingebettet, wenn man kein extrafeld dafür
macht??? ...loel!

also ganz herzlichen dank für die hilfe! melde mich
bestimmt noch ein paar mal, bis die datenbank komplett ist!

</Zitat>

soll das eine Drohung sein :-)

dann aber bitte mit Groß/Kleinschreibung und
"Zitiermöglichkeit"
es nervt schon ganz schön, wenn beim Antworten nicht
automatisch das ">" vor den Zeilen erscheint!

Viel Spaß noch mit Access

Jürgen


0 new messages