collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 50
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13910
  • stats Beiträge insgesamt: 65777
  • stats Themen insgesamt: 8873
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: VBA für Steuerelement deaktiveren - Endlosformular  (Gelesen 797 mal)

Offline Micharius

  • Access-User
  • *
  • Beiträge: 61
VBA für Steuerelement deaktiveren - Endlosformular
« am: November 06, 2017, 14:12:13 »
Hallo zusammen

Mit diesem Code kann ich wunderbar in einem "einzelnen Formular" einzelne Steuerelemente abhängig von Bedingungen aktiviert oder deaktiviert anzeigen lassen (Ereignis: Beim Anzeigen):

Private Sub Form_Current()
    Me!KunParIDRef.Enabled = Nz(Me!KunHatVertreter) = True 
    Me!btnParDosOeffnen.Enabled = Nz(Me!KunParIDRef) >= 1
End Sub

Er funktioniert jedoch nur im "einzelnen Formular" und nicht in einem Endlosformular. Weiss jemand, wie ich anpassen muss oder was ich machen könnte, damit ich das auch in einem Endlosformular hinkriege?

Herzliche Grüsse

Micharius
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #1 am: November 06, 2017, 14:45:58 »
Hallo,
prinzipiell sollte das auch im Endlosformular funktionieren, allerdings werden die Bedingungen des aktuellen Datensatzes jeweils für alle Datensätze übernommen.

Für die einzelnen Datensätze kannst du aber mit "Bedingter Formatierung" arbeiten
Gruß Steffen
 

Offline Micharius

  • Access-User
  • *
  • Beiträge: 61
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #2 am: November 09, 2017, 08:42:04 »
Danke im Nachhinein für die Antwort. Habe jetzt einen "Fake Button" aus einem Textfeld gebastelt, bei bestimmten Werten wird dieses einfach in einem anderen grau formatiert und sieht so wie ein inaktiver Button aus. Das funktioniert recht gut. Es gibt zwar keinen "Mousover" Effekt, und effektiv lässt sich das Feld auch anklicken, wenn es "inaktiv" ist - aber optisch und funktionell passt das so.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #3 am: November 09, 2017, 09:19:25 »
Hallo,
noch mal der Hinweis:
Der oben gezeigte Code mit Form_Current funktioniert völlig problemlos auch in einem Endlosformular.
Gruß
Klaus
 

Offline Micharius

  • Access-User
  • *
  • Beiträge: 61
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #4 am: November 09, 2017, 09:29:19 »
Hi MzKlMu

Er funktioniert in dem Sinn schon, wie Steffen0815 aber korrekt geschrieben hat werden nur die Bedingungen des aktuellen Datensatzes jeweils für alle Datensätze übernommen. Das war in meinem Fall aber nicht gewünscht.

Beste Grüsse

Micharius
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #5 am: November 09, 2017, 10:06:43 »
Hallo,
dass das für alle Datensätze übernommen wird ist doch bedeutungslos. Sobald zu einem anderen DS gewechselt wird, wird ja wieder neu ausgewertet und die Eigenschaft gesetzt.

Oder liegt hier eine Mehrbenutzerumgebung vor und jeder hat das gleiche Formular ?
Gruß
Klaus
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #6 am: November 09, 2017, 13:01:21 »
Hallo,
wie beschrieben kannst du das alles über "Bedingte Formatierung" nicht nur korrekt, sondern auch schön darstellen.

@Klaus:
Zitat
Oder liegt hier eine Mehrbenutzerumgebung vor und jeder hat das gleiche Formular ?
Auch in diesem Fall hat jedes Formular seine eigene Instanz und es würde zu keinerlei Beeinflussung kommen.
Die Theorie "auf gar keinen Fall ein gemeinsames FE" ist nmM falsch. Man kann auch im Netzwerk nmE problemlos mit einem gemeinsamen FE arbeiten.
Gruß Steffen
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #7 am: November 09, 2017, 13:19:02 »
Hallo Steffen,
Zitat
Die Theorie "auf gar keinen Fall ein gemeinsames FE" ist nmM falsch.
dann Lies mal das
Gruß
Klaus
 

Offline Micharius

  • Access-User
  • *
  • Beiträge: 61
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #8 am: November 09, 2017, 14:59:55 »
...und ich komm bald gar nicht mehr draus  :'(

Vielleicht als Erklärung hier noch ein Dokument angehängt, welches die Ausgangssituation zeigt.
Links wählt der Benutzer einen Kunden an, im UF Endlosformular werden alle Projekte dieses Kunden angezeigt. Diese können entweder den Status aktiv oder inaktiv haben. Mit dem Button MUT sollen nru aktive Projekte mutiert werden können. Die Idee war nun, wenn der Status der Projekts "inaktiv" ist, den Button zu deaktivieren. Mit dem erwähnten Code ist dann immer nur der erste Datensatz bzw. das erste Projekt berücksichtigt. Im Beispiel ist nun der Button mittels Textfeld nachgebaut.

Bin mir sicher, es gäbe elegantere Lösungen, aber ich mit meinen bescheidenen VBA Kenntnissen...zumal ich den Code schon mal in einem anderen Formular verwendet habe dachte ich, das geht im gleichen. Mit der bedingten Formatierung bin ich eigentlich aber auch ganz happy.

Beste Grüsse

Micharius
 

Offline steffen0815

  • Access-Profi
  • **
  • Beiträge: 122
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #9 am: November 09, 2017, 15:19:38 »
@Klaus:
ich kenne deinen Link  :).
So wie der Kollege aus "seiner Sicht" darstellt, habe ich auch (nur) meine eigene Sicht und meine Erfahrung.
Ich habe jahrelang nur gemeinsame FE (mit sehr vielen Nutzern) eingesetzt und hatte nie Probleme.
Bei den neueren Versionen habe ich persönlich  umgestellt, allerdings haben wir auch noch zentrale FE-s im Einsatz.

Also man kann die/seine "Sicht" durchaus empfehlen, aber daraus einen Zwang abzuleiten halte ich für übertrieben bzw. falsch.
Gruß Steffen
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: VBA für Steuerelement deaktiveren - Endlosformular
« Antwort #10 am: November 09, 2017, 17:06:32 »
Hallo,
 
Zitat
halte ich für übertrieben bzw. falsch
übertrieben lasse ich gelten, aber falsch ?

Für mich sind die Begründungen schlüssig. Ich denke das hängt auch von der Größe der Datenbank ab und von den Datenmengen die bewegt werden. So lange wie die Daten immer komplett in den Speicher geladen werden können, wird es keine Probleme geben.

Aber ich verfüge da über keine Erfahrungen und habe mich einfach mal an dem Beitrag im Link orientiert, welcher ja nicht von einem Laien kommt.
Gruß
Klaus