Neuigkeiten:

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

Mobiles Hauptmenü

Textfelder im/mit Opionsfeld ein/ausblenden

Begonnen von WhiteCrow, Oktober 14, 2012, 16:45:43

⏪ vorheriges - nächstes ⏩

WhiteCrow

Tach Profileuz!
mit Hilfe von:

Private Sub Rahmen237_Click()
    Select Case Rahmen237
        Case 1
            Me!t_OSname.Visible = False
            Me!t_OSVer.Visible = False
            Me!t_OSLizenznummer.Visible = False
            Me!k_OSname.Visible = False
            Me!k_OSversion.Visible = False
            Me!f_OSLizenznummer.Visible = False
        Case 2
            Me!t_OSname.Visible = True
            Me!t_OSVer.Visible = True
            Me!t_OSLizenznummer.Visible = True
            Me!k_OSname.Visible = True
            Me!k_OSversion.Visible = True
            Me!f_OSLizenznummer.Visible = True
    End Select
End Sub

...hab vor mehrere Textfelder und deren Beschriftungen ein und ausblenden.
je doch im meinem Acc2010 kommt jedes mal zum Fehlermeldung (s.Anhang):

es ist egal ob ich mit
Me!t_OSname.Visible = False oder
Me.t_OSname.Visible = False eingebe, Resultat ist das selbe.
auch bei Klick oder Bei Aktualisierung ändert nichts.

Vermute Lösung liegt vor d.Nase komme aber seit über 12h nicht druff.
Hat jemand Vermutung was ich dabei falsch mache?



[Anhang gelöscht durch Administrator]

DF6GL

#1
Hallo,

das Ding spricht ja auch von "Nach Aktualisierung".


Öffne mal den VBA-Editor und kompiliere die DB  (Debuggen/kompilieren von  ...).

Sorge aber auch dafür, dass in JEDEM Modul am Anfang
Option Explicit
zu stehen kommt.


Weiterhin:

befinden sich im Rahmen237 auch irgendwelche Optionsfelder, bzw. Kontollkästchen oder Umschaltflächen?

Beaker s.a.

Hallo WhiteCrow,
Hast Du die Prozedur mal per Einzelschritt durchlaufen?
Oder die Einrichtung einer Fehlerbehandlung erwogen?
Ich vermute irgendwo einen Typenkonflikt.
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)

WhiteCrow

Zitat von: DF6GL am Oktober 14, 2012, 18:22:21
Hallo,

das Ding spricht ja auch von "Nach Aktualisierung".

ja hab ursprünglich mit _Click gemacht und mit _AfterUpdate später erst versucht.
also verschiedene ähnliche Probleme im Foren gefunden und mit deren Tips versucht, ohne Erfolg

ZitatÖffne mal den VBA-Editor und kompiliere die DB  (Debuggen/kompilieren von  ...).

gemacht. sollte was dabei passieren? (jetzt ist inaktiv)

ZitatSorge aber auch dafür, dass in JEDEM Modul am Anfang
Option Explicit
zu stehen kommt.

ja ist/sind dabei.

Zitat
Weiterhin:

befinden sich im Rahmen237 auch irgendwelche Optionsfelder, bzw. Kontollkästchen oder Umschaltflächen?

Wollte einem Textfeld und zwei Kombinationsfelder (inkl. deren Beschriftung) die erst beim aktivierten Case 2 sichtbar werden sollten,
aber auch außerhalb kommt zum selben Resultat.

WhiteCrow

wollte den Anhang hier hochladen...
beim Löschen relevante "Sachen" hab bemerkt ob sich ein Layout rein geschlichen...
da ich mit Acc2010 arbeite  aber *.mdb "erzeuge" war das (vermute) mein Problem.
also "Code" war/ist ok und funktioniert wie sollte muss aber als _Click und _AfterUpdate ausführen,
sonst nach dem Neustart sind die ausgeblendeten Felder wider eingeblendet. (bis man wider hin und hier um-klickt)

auf jeden Fall BIGthx an euch Leutz !

MzKlMu

Hallo,
nimm das Ereiegnis "beim Anzeigen" (Formular) und "Nach Aktualisierung", nicht "Bei Klick".

Und kürzer geht es auch:

 
            Me!t_OSname.Visible = Me!Rahmen237 = 2
           Me!t_OSVer.Visible = Me!Rahmen237 = 2
           Me!t_OSLizenznummer.Visible = Me!Rahmen237 = 2
           Me!k_OSname.Visible = Me!Rahmen237 = 2
           Me!k_OSversion.Visible = Me!Rahmen237 = 2
           Me!f_OSLizenznummer.Visible = Me!Rahmen237 = 2


Select Case braucht es dann nicht.
Gruß Klaus

WhiteCrow

#6
Das ist ja  8)
in diese Form sehe zum ersten mall *hust

man muss aber (bei wechseln) erst "dem Datensatzmackierer klicken" dann werden die erst sichtbar oder unsichtbar.  :(

Visible müssen ja auch bei case 2 und case 3 sein,
bei zurück auf Case 1 wider weg oder noch besser die Daten/Eingabe(n) wider raus/gelöscht.

MzKlMu

Hallo,

dann so:
   
            Me!t_OSname.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3
            Me!t_OSVer.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3
            Me!t_OSLizenznummer.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3
            Me!k_OSname.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3
            Me!k_OSversion.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3
            Me!f_OSLizenznummer.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3


Das sollte auch klappen, wenn Du in ein Feld eines anderen Datensatzes klickst.
Gruß Klaus

bahasu

Hi,

und noch etwas kürzer:

            Me!t_OSname.Visible = Me!Rahmen237 = 2 Or Me!Rahmen237 = 3

            Me!t_OSVer.Visible = Me!t_OSname.Visible
            Me!t_OSLizenznummer.Visible = Me!t_OSname.Visible
            Me!k_OSname.Visible = Me!t_OSname.Visible
            Me!k_OSversion.Visible = Me!t_OSname.Visible
            Me!f_OSLizenznummer.Visible = Me!t_OSname.Visible


Harald
Servus

WhiteCrow

Danke euch sehr für Die Antworten aber so kann ich das auch nicht laufen lassen.
Da findet noch kein Datenlöschung im Hintergrund (falls jemand zurückstellt bleiben seine "doch falsche" angaben im Tabelle drin)
und sichtbar oder unsichtbar "wird auch nicht von alleine" Erst beim klick auf Datensatzmarkierer/speichern aktiviert bzw. aktualisiert die.
Heist: Beim jeden switchen genauer "nicht-aufpopen" wird gleich jeder am Hörer schnappen und Support anrufen.

Denke da habe mich etwas überschätzt und muss ich andere Lösung suchen.

tzd. BIGthx noch mall an euch!

DF6GL

Hallo,

irgendwie stochern wir jetzt aber im Nebel herum..


Um was für eine Datenlöschung geht es denn nun?


"falls jemand zurückstellt "    WAS zurückstellt?



"und sichtbar oder unsichtbar "wird auch nicht von alleine"


Die Prozedur muss an ALLEN Stellen (bei deren Ereignissen) aufgerufen werden, an denen diese Anzeigesteuerung greifen soll.


MzKlMu

Hallo,
ZitatDenke da habe mich etwas überschätzt und muss ich andere Lösung suchen.
Nein, musst Du nicht, das geht.

Hast Du den Code in beiden Ereignissen?
"Nach Aktualisierung" und "Beim Anzeigen"
Letzteres ist ein Formularereignis.

Wenn Du die Felder leeren willst, brauchst Du dann doch Select Case.

Private Sub Rahmen237_AfterUpdate()
   Select Case Rahmen237
       Case 1
           Me!t_OSname.Visible = False
           Me!t_OSname = Null '<<<<<<<< für jedes Feld das geleert werden soll einfügen
           Me!t_OSVer.Visible = False
           Me!t_OSLizenznummer.Visible = False
           Me!k_OSname.Visible = False
           Me!k_OSversion.Visible = False
           Me!f_OSLizenznummer.Visible = False
       Case 2, 3
           Me!t_OSname.Visible = True
           Me!t_OSVer.Visible = True
           Me!t_OSLizenznummer.Visible = True
           Me!k_OSname.Visible = True
           Me!k_OSversion.Visible = True
           Me!f_OSLizenznummer.Visible = True
   End Select
End Sub


Den gleichen Code auch in das Ereignis "Beim Anzeigen".
Gruß Klaus

WhiteCrow

ist ja Coole Sache... *wortlos*

Löschen (dank Deinem Tip) funktioniert auch bestens.
nur diese Sofortaktualisierung/umschalten (von z.B. False auf True) "geht" erst nach DS-speicherung. (s.weiter unten)
Zitat von: MzKlMu am Oktober 16, 2012, 20:08:28
Hast Du den Code in beiden Ereignissen?
"Nach Aktualisierung" und "Beim Anzeigen"
Letzteres ist ein Formularereignis....


....Den gleichen Code auch in das Ereignis "Beim Anzeigen".

Ja. Hab ich schon seit einigen Zeit.
Könnte das daran liegen ob mein Optionsfeld in einem Registersteuerelement->Unterformular "liegt" und nicht im Hauptformular?

Alf jeden Fall sehe ich , ob mir noch einiges beibringen muss.

MzKlMu

Hallo,
Zitat"geht" erst nach DS-speicherung. (s.weiter unten)
das ist auch normal so und kann nicht anders funktionieren. Die Werte zum Umschalten müssen ja bekannt sein und das ist erst nach Speicherung.
Gruß Klaus