Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Neueste Beiträge

#1
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von MzKlMu - Heute um 00:01:39
@Ulrich
Zitataber ich bin von Steuerelementnamen ausgegangen,
Auch dann ist das von mir gesagte zutreffend. Wobei ich überzeugt bin, dass die Tabellenfelder auch so benamt sind.
#2
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von PhilS - Dezember 06, 2025, 15:27:41
Zitat von: Rainer_73 am Dezember 05, 2025, 16:43:06Wenn ich das Ja/Nein-Feld namens Finanzierung aktiviere, muss ich erst die Bearbeitung schließen (auf den kleinen Stift unterhalb des Formulars klicken), dann werden alle anderen Felder eingeblendet. Und diese werden dann auch in den Datensätzen eingeblendet, in denen das Feld Finanzierung gar nicht aktiviert ist.
Hast du da auch noch eine Idee, was falsch sein könnte.
So direkt falsch ist da nichts.

Dein Code behandelt das Form_AfterUpdate-Ereignis. Das tritt ein, wenn der ganze Datensatz gespeichert wird. Du kannst, wie hier von anderen bereits vorgeschlagen, das AfterUpdate-Ereignis des Kontrollkästchens verwenden, damit der Code sofort nach der Änderung des Wertes ausgeführt wird.

Dass alle angezeigten Datensätze von dem Ausblenden der Steuerelement betroffen ist, ist in einem Endlosformular so. Das Formular ist für alle Datensätze gleich. Nur Eigenschaften, die eine unmittelbare Abhängigkeit von den Daten haben, werden pro Datensatz dargestellt.
Ein-/Ausblenden von Steuerelementen funktioniert in einem Endlosformular nicht pro Datensatz. Als Alternative kannst du eine Bedingte Formatierung verwenden. Damit könntest du die nicht benötigten Steuerelemente, abhängig von dem Wert in Finanzierung, aktivieren oder deaktivieren.
#3
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von Knobbi38 - Dezember 06, 2025, 14:49:35
@klaus:

Ich finde Feldnamen mit Präfixen auch nicht so gut, aber ich bin von Steuerelementnamen ausgegangen, weil ich bei der Eigenschaft ".Visible" nicht auf ein Feld-Objekt schließe.

Gruß Knobbi38
#4
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von MzKlMu - Dezember 06, 2025, 14:15:11
Hallo,
Zitat... nur mal so am Rande ...
Auch am Rande (und meine persönliche Meinung):
Ich würde auf Präfixe bei Feldnamen unbedingt verzichten. Die machen nur Arbeit und sind nicht wirklich hilfreich, im Gegenteil. Dass die annuität ein Währungsfeld ist erkennt man auch am Namen, da braucht es kein Präfix.

Warum ist z.B. Zinssatz und Laufzeit ein Textfeld, sollten das nicht Zahlen sein ?
Wenn Du das jetzt ändern willst, musst Du txt in ein anderes Präfix ändern. Und das überall, in Tabellen, Abfragen, Formularfeldern, VBA Code. Was dann der oben erwähnten Arbeit entspricht.

Um das noch mal klar zu stellen, ich meine nur die Präfixe in den Tabellenfeldern.
#5
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von Knobbi38 - Dezember 06, 2025, 11:24:04
Hallo Rainer,

wenn du schon Präfixe für Steuerelemente verwendest, dann solltest du das auch durchgängig machen.

nur mal so am Rande ...

Knobbi38
#6
Access Programmierung / Re: Erl unplausibel
Letzter Beitrag von Doming - Dezember 06, 2025, 09:10:29
hm klar, nach dem Kompilieren ist die Codierung anders, wird mir jetzt auch bewusst. Danke
Ich hatte gehofft, mit dem Erl die Fehlerquelle zu identifizieren... na gut.
In den meisten Fällen passt es ja, wobei mich die 5stelligen Erls trotzdem wundern
#7
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von Doming - Dezember 06, 2025, 09:05:28
wie wäre es, das Ereignis des Kontrollkästchens zu nehmen, statt des Formulars?
Dann werden die betroffenen Felder direkt nach dem Klicken verschwinden.

Solche Formatierungsgeschichten lagere ich gern in eigene Sub um, dann wird der Ereigniscode übersichtlicher und man kann solche Formatierungen auch beim Wechsel des Datensatzes triggern (Form_Current).

Also
Kontrollkästchen_AfterUpdate
    Elementesicht Me.Kontrollkästchen
End Sub
----------------------------------------------------------------------------------
Private Sub ElementeSicht(Sichtbar As Boolean)
    Me.eur_darlehnsbetrag.Visible = Sichtbar
    Me.txt_zinssatz.Visible = Sichtbar
    Me.txt_laufzeit.Visible = Sichtbar
    Me.dat_auszahlung.Visible = Sichtbar
    Me.dat_rate_beginn.Visible = Sichtbar
    Me.dat_rate_ende.Visible = Sichtbar
    Me.eur_annuität.Visible = Sichtbar
    Me.eur_annuität_laufzeit.Visible = Sichtbar
    Me.eur_zinsen_laufzeit.Visible = Sichtbar
End Sub
 
Gruß
 Doming
#8
Access Programmierung / Re: Frage zur Suche in Tabelle...
Letzter Beitrag von Gockel67 - Dezember 05, 2025, 17:30:09
Hallo PhilS,

danke für deine Antwort. Du hast natürlich recht. Das Like wird hier nicht benötigt. Wenn ich allerdings deine Ergänzung ohne das Like einfüge bekomme ich die Fehlermeldung Datentypenkonflikt. Deine Zeile mit Like funktioniert.

Liebe Grüße
Jörg

P.S. Hat sich erledigt. Hab den Fehler gefunden. Einfach die ' raus und es funktioniert wunderbar.
#9
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von Rainer_73 - Dezember 05, 2025, 16:43:06
Danke PhilS, das war schon mal ein Teil des Problems. Nachdem ich die Feldnamen im Formular nun angepasst habe, kann ich die Felder ein- und ausblenden. Allerdings leider nicht so, wie ich mir das vorgestellt habe.

Wenn ich das Ja/Nein-Feld namens Finanzierung aktiviere, muss ich erst die Bearbeitung schließen (auf den kleinen Stift unterhalb des Formulars klicken), dann werden alle anderen Felder eingeblendet. Und diese werden dann auch in den Datensätzen eingeblendet, in denen das Feld Finanzierung gar nicht aktiviert ist.
Hast du da auch noch eine Idee, was falsch sein könnte.
#10
Formular / Re: Formularfelder ausblenden
Letzter Beitrag von Bitsqueezer - Dezember 05, 2025, 16:41:01
Hallo,

ich empfehle Dir, die Umschaltung so zu machen:

Private Sub Form_AfterUpdate()
' Prüfen, ob das Kontrollkästchen aktiviert (Ja/Wahr) ist
    Dim bolSichtbar As Boolean
   
    bolSichtbar = (Me.finanzierung.Value = True)
    Me.eur_darlehnsbetrag.Visible = bolSichtbar
    Me.txt_zinssatz.Visible = bolSichtbar
    Me.txt_laufzeit.Visible = bolSichtbar
    Me.dat_auszahlung.Visible = bolSichtbar
    Me.dat_rate_beginn.Visible = bolSichtbar
    Me.dat_rate_ende.Visible = bolSichtbar
    Me.eur_annuität.Visible = bolSichtbar
    Me.eur_annuität_laufzeit.Visible = bolSichtbar
    Me.eur_zinsen_laufzeit.Visible = bolSichtbar

End Sub

Das spart 50% Code ein und es ist viel einfacher zu warten.
Solltest Du bei einem Feld die umgekehrte Logik brauchen, schreibst Du einfach:
Me.MeinFeld.Visible = Not bolSichtbar
Außerdem empfehle ich Dir, sowas in eine eigene Sub im Formularcode zu hinterlegen. Vorteil ist, daß Du die Aktualisierung der Sichtbarkeit dann von vielen Stellen aus aufrufen kannst, da wäre als erstes "Form_Current", wenn der Datensatz angezeigt wird.

Gruß

Christian