Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mehrere Elemente mit gleicher Funktion

Begonnen von zoulhh, Dezember 23, 2016, 10:56:25

⏪ vorheriges - nächstes ⏩

zoulhh


Hallo zusammen,

wenn ich z.B. fünf Buttons haben, die alle das gleiche machen sollen (fragt nicht!), muss ich dann tatsächlich fünf Subs für das "Beim Klicken" Ereignis haben oder geht das eleganter?

Danke und schöne Weihnachten.

LGM

MzKlMu

Hallo,
eine Sub im Klassenmodul des Formulars und dann in den Buttons diese Sub aufrufen.
Private Sub Befehl1_Click()
test
End Sub

Private Sub Befehl2_Click()
test
End Sub

Public Sub test()
    MsgBox "Dies ist ein Test"
End Sub


Zitat(fragt nicht!),
Nein, ich frage leiber nicht.
Gruß Klaus

el_gomero

Moinsen,

also die Sub Test würde ich in einem allgemeinen Modul unterbringen. Ist ja nicht gesagt, dass die Buttons alle im gleichen Form liegen, bzw dass irgendwann auf einem anderen Form noch welche dazukommen, oder sonstwo Code die Prozedur auch ausführen soll.

Sonst frag ich lieber auch nicht weiter.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

zoulhh

Zitat von: MzKlMu am Dezember 23, 2016, 11:05:58
Hallo,
eine Sub im Klassenmodul des Formulars und dann in den Buttons diese Sub aufrufen.
Private Sub Befehl1_Click()
test
End Sub

Private Sub Befehl2_Click()
test
End Sub

Public Sub test()
    MsgBox "Dies ist ein Test"
End Sub


Zitat(fragt nicht!),
Nein, ich frage leiber nicht.

Moin Klaus,

das ist zwar richtig, macht es aber nicht eleganter oder so. Ich dachte eher an sowas wie

private sub button1_click,button2_click,button3_click
end sub

Aber das geht wohl nicht.

Hintergrund (Du hast gefragt :-) ): Ich habe ein Unterformular wo mir Kontaktdaten wie Strasse, Name usw. in Feldern angezeigt werden. Bei einem Klick auf ein beliebiges Feld soll aber immer der Datensatz über die ID in das Hauptformular übertragen werden. Das bedeutet, dass im Unterformular eben für jedes Feld ein Sub mit immer dem gleichen Aufruf steht. Das fand ich nervig.

Danke für Deine Mühe.

LGM

el_gomero

Zitat
private sub button1_click,button2_click,button3_click
end sub

Aber das geht wohl nicht.

In der Form auf keinen Fall, in der von Klaus beschriebenen schon.

Zitat
... Ich habe ein Unterformular wo mir Kontaktdaten wie Strasse, Name usw. in Feldern angezeigt werden. Bei einem Klick auf ein beliebiges Feld soll aber immer der Datensatz über die ID in das Hauptformular übertragen werden. ...

Das macht in einer relationalen db nun mal gar keinen Sinn. Im Ufo befinden sich Kontaktdaten die über die ID mit Kontakt in Verbindung stehen. Da gibt es dann nichts in HF zu übertragen.

Beschreibe doch mal die Aktion genauer ...
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

zoulhh

#5
Zitat von: el_gomero am Dezember 23, 2016, 13:18:08Beschreibe doch mal die Aktion genauer ..

Hi Jürgen,

danke für Deine Antwort. Das Hauptformular editiert Datensätze. Dort ist auch ein Suchfeld vorhanden, die Ergebnisse (verkürzt, also nicht alle Felder) werden im Unterformular (endlos) angezeigt. Dort kann man dann auf ein beliebiges Feld klicken und der Datensatz wird zum Editieren ins Hauptformular übernommen.

Ist das echt so ungewöhnlich? Hab ich da so einen Denkfehler drin?

LGM



MzKlMu

#6
Hallo,
wozu eine verkürzte Darstellung ?
Ich halte das Unterformular für ersatzlos überflüssig.

Außerdem ist das ohnehin unlogisch. Wenn im Hafo der gleiche Datensatz angezeigt wird, so kannst Du gleich im Hafo editieren.

Ja, das Vorhaben ist ungewöhnlich.
Gruß Klaus

el_gomero

mit deiner Beschreibung kann ich nichts anfangen. Hatte etwas in der Art erwartet:

Kunde Müller hat mehrere Kontaktmöglichkeiten - Tel heim Nr 456, Mobil1 0123, email mueller@gmx.de. Nun will ich die Mobilnummer ändern und eine neue 2. Mobilnummer zufügen ...
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

crystal

Hallo,
wie wäre es denn, wenn du im Ufo auf die mehreren Buttons verzichtest (ich vermute, du hast jetzt im Ufo mehrere Buttons wie "Name bearbeiten", "Straße bearbeiten" usw.)?
Du müsstest dazu über die gesamte Ufo-Zeile einen transparenten Button legen und deinen Code in den Klick-Event dieses einen Buttons legen. Dadurch würde der Klick-Event gefeuert werden, egal wo du im Ufo klickst.

lg
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

Joss

Hallo zoulhh,

zu deiner Anfangsfrage:

Erstelle eine Private Function z.B. test(), die deinen Code enthält.
Dann markierst du alle 5 Schaltflächen, und schreibst in das Ereignis "Beim Klicken" ein Gleichheitszeichen und den Funktionsnamen:
=test()

Gruß
Josef

DF6GL

Hallo,


Zitat
Erstelle eine Private Function z.B. test(), die deinen Code enthält.


mach da besser eine Public Function daraus...

zoulhh

Zitat von: MzKlMu am Dezember 23, 2016, 13:34:59
Hallo,
wozu eine verkürzte Darstellung ?
Ich halte das Unterformular für ersatzlos überflüssig.

Außerdem ist das ohnehin unlogisch. Wenn im Hafo der gleiche Datensatz angezeigt wird, so kannst Du gleich im Hafo editieren.

Ja, das Vorhaben ist ungewöhnlich.

Hi,

entschuldige bitte, ich habe es evtl. falsch ausgedrückt. Das Unterformular ist ein Endlosformular, dass Suchergebnisse anzeigt, quasi in einer Liste. Es besteht nicht aus Buttons sondern aus Feldern. Diese Felder kann man anklicken und dann den angeklickten Datensatz editieren. Außerdem kann man in dem Unterformular durch Klick auf die Überschrift die "Liste" sortieren. Ich hänge mal ein Bild an.

Ich hab mir echt Mühe gegeben, finde das aber immer noch eine wichtige Funktion und überhaupt nicht abwegig. Vielleicht denke ich aber über zu viele Ecken.

Danke für Deine Gedanken zu diesem Thema.

LGM


zoulhh

Zitat von: Joss am Dezember 23, 2016, 14:57:01


Erstelle eine Private Function z.B. test(), die deinen Code enthält.
Dann markierst du alle 5 Schaltflächen, und schreibst in das Ereignis "Beim Klicken" ein Gleichheitszeichen und den Funktionsnamen:
=test()

Gruß
Josef

DAS, lieber Josef, ist geil. Vielen, vielen Dank.

LGM

crystal

Hallo,

einfacher geht's mit einem transparenten Button (s.o. #9).

Ansonsten finde ich deinen "Master-Datail-Ansatz" sehr benutzerfreundlich und vom Layout her gut gelungen. Vielleicht würde ich ihn "umdrehen", also Master (Vorselektion) oben und Details unten - wäre von der Bedienung her vielleicht etwas logischer oder einsichtiger.

Eines muss ich noch bemerken: hättest du schon zu Anfang ein Bild hochgeladen, hätte man einige Missverständnisse vermeiden können.

Schöne Weihnachten!

lg
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

Beaker s.a.

Hallo,
Vielleicht macht es Sinn auch das Ereignis "Beim Anzeigen" (Current) mit der
gleichen Prozedur zu behandeln, - wegen manuellem Blättern.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)