Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Formularinhalte werden beim DS-Wechsel nicht angezeigt
zurück: Wert setzen weiter: Text und Kombinationsfeld miteinander verknüpfen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Blek
Einsteiger


Verfasst am:
26. März 2009, 15:50
Rufname:

Formularinhalte werden beim DS-Wechsel nicht angezeigt - Formularinhalte werden beim DS-Wechsel nicht angezeigt

Nach oben
       Version: Office 2003

Hallo,

ich habe in einem Formular zwei Kombinationsfelder, die sich aufeinander beziehen: Abhängig von der Auswahl im ersten Feld (Umweltaspekt), werden im zweiten Feld (Umweltunteraspekt) eingeschränkt Auswahlpunkte zur Verfügung gestellt.
Code:
Private Sub Kombi_Umweltaspekt_AfterUpdate()
    With Me!Kombi_Spezifikation
        .Enabled = True
        .RowSource = "SELECT Umweltunteraspekt_ID, Umweltunteraspekt_Art " & _
                       "FROM tbl_Umweltunteraspekte " & _
                      "WHERE Umweltaspekt_ID = " & Me.ActiveControl & ";"
                                             'bzw. Me!Kombi_Umweltaspekt
        .Requery
    End With
End Sub
Die Inhalte des zweiten Kombinationsfeldes werden auch wunderbar in meiner Tabelle gespeichert. Wenn ich allerdings die Datensätze im Formular durchblättere wird meine Auswahl des zweiten Datensatzes nicht mehr angezeigt. Ich verstehe allerdings nicht weshalb das so ist.

Wäre schön, wenn mir da jemand weiterhelfen könnte.

Danke im Voraus und schöne Grüße


Zuletzt bearbeitet von Blek am 30. März 2009, 10:46, insgesamt einmal bearbeitet
Willi Wipp
Moderator


Verfasst am:
27. März 2009, 13:18
Rufname:
Wohnort: Raum Wiesbaden


Re: Formularinhalte werden gespeichert, aber nicht angezeigt - Re: Formularinhalte werden gespeichert, aber nicht angezeigt

Nach oben
       Version: Office 2003

Hi beckd,

rufe die Prozedur auch im Formular-Ereignis Beim Anzeigen (Current) auf!
Oder verlagere das Ganze in die Steuerelement-Ereignisse Beim Hingehen (Enter) und Beim Verlassen (Exit).

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Gast



Verfasst am:
27. März 2009, 14:58
Rufname:

AW: Formularinhalte werden gespeichert, aber nicht angezeigt - AW: Formularinhalte werden gespeichert, aber nicht angezeigt

Nach oben
       Version: Office 2003

Hallo Willi Wipp,

ich habe jetzt beide von dir vorgeschlagenen Wege versucht. Ich habe also den angegebenen Code (natürlich mit entsprechendem Private Sub und End Sub) in die entsprechenden Ereignisse hineinkopiert. Habe ich das richtig verstanden?

Die Methode BeimAnzeigen funktioniert bei mir offenbar nicht.
Die Methode BeimHingehen bzw. BeimVerlassen funktioniert teilweise. Es kann eigentlich nicht sein, wirkt jedoch auf mich gewissermaßen willkürlich. Gerade wurden mir alle Datensätze wie gewünscht angezeigt, beim nächsten Versuch wird der Umweltunteraspekt wieder unterschlagen.

Da es im Feld "Umweltaspekt" ja funktioniert, nehme ich an, dass es mit dem AfterUpdate zusammenhängt. Vielleicht lässt sich der Zusammenhang der beiden Kombinatinosfelder auch anders organisieren. Und die Aktivierung bei Änderung in Feld "Umweltaspekte" ist zwar nett, muss aber nicht zwingend sein.

Wäre für jede Hilfe dankbar.
Willi Wipp
Moderator


Verfasst am:
27. März 2009, 15:27
Rufname:
Wohnort: Raum Wiesbaden

Re: Formularinhalte werden gespeichert, aber nicht... (II) - Re: Formularinhalte werden gespeichert, aber nicht... (II)

Nach oben
       Version: Office 2003

Hi beckd,

beide Varianten sind alternativ nicht gleichzeitig verwendbar!
Code:
' Entweder ###################################################################
Option Compare Database
Option Explicit

Private Sub Kombi_Umweltaspekt_AfterUpdate()
    With Me!Kombi_Spezifikation
        If IsNull(Me!Kombi_Umweltaspekt) Then
            .Enabled = False
          Else
            .Enabled = True
            .RowSource = "SELECT Umweltunteraspekt_ID, " & _
                                "Umweltunteraspekt_Art " & _
                           "FROM tbl_Umweltunteraspekte " & _
                          "WHERE Umweltaspekt_ID = " & Me.ActiveControl & ";"
                                                 'bzw. Me!Kombi_Umweltaspekt
            .Requery
        End If
    End With
End Sub

Private Sub Form_Current()
    Kombi_Umweltaspekt_AfterUpdate
End Sub

' Oder #######################################################################
Option Compare Database
Option Explicit
Const cstrSQL   As String = "SELECT Umweltunteraspekt_ID, " & _
                                   "Umweltunteraspekt_Art " & _
                              "FROM tbl_Umweltunteraspekte"

Private Sub Kombi_Umweltaspekt_Enter()
    With Me!Kombi_Spezifikation
        .RowSource = cstrSQL & " " & _
                      "WHERE Umweltaspekt_ID = " & Me!Kombi_Umweltaspekt
        .Requery
    End With
End Sub

Private Sub Kombi_Umweltaspekt_Exit(Cancel As Integer)
    With Me!Kombi_Spezifikation
        .RowSource = cstrSQL
        .Requery
    End With
End Sub

Private Sub Kombi_Umweltaspekt_AfterUpdate()
    Me!Kombi_Spezifikation.Enabled = Not IsNull(Me!Kombi_Umweltaspekt)
End Sub

Private Sub Form_Current()
    Kombi_Umweltaspekt_AfterUpdate
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Blek
Einsteiger


Verfasst am:
27. März 2009, 17:00
Rufname:

AW: Formularinhalte werden gespeichert, aber nicht angezeigt - AW: Formularinhalte werden gespeichert, aber nicht angezeigt

Nach oben
       Version: Office 2003

Hallo Willi Wipp,

zunächt einmal vielen Dank. Ich habe jetzt folgenden funktionierenden Code von dir übernommen:
Code:
Private Sub Kombi_Umweltaspekt_AfterUpdate()
    With Me!Kombi_Spezifikation
        .Enabled = True
        .RowSource = "SELECT Umweltunteraspekt_ID, Umweltunteraspekt_Art " & _
                       "FROM tbl_Umweltunteraspekte " & _
                      "WHERE Umweltaspekt_ID = " & Me!Kombi_Umweltaspekt & ";"
        .Requery
    End With
End Sub

Private Sub Form_Current()
    Kombi_Umweltaspekt_AfterUpdate
End Sub
Allerdings ist nun das Kombi_Spezifikation ständig aktiviert. Ich verstehe aber nicht warum. Ich denke mir fehlt das grundsätzliche Verständnis für den Code. Darf ich dir mal mein Verständnis präsentieren:
Code:
        .Enabled = True
Aktiviert eigentlich das Feld Kombi_Spezifikation nach einer Änderung in Feld Kombi_Umweltaspekt. Danach kommt die Abfrage welche Felder präsentiert werden: Eben nur diese Datensätze der tbl_Umweltunteraspekte in denen der Inhalt der Spalte Umweltaspekte_ID mit dem ausgewählen Inhalt des Kombi_Umweltaspekt übereinstimmt?!

Form_Current gibt denjenigen Schritt an, der beim Wechseln von Datensatz zu Datensatz durchgeführt werden soll?!

With.. End With bleibt für mich schleierhaft. Confused

Und warum funktioniert der Code nicht, wenn ich Me.ActiveControl stehen lasse?!

Wäre super, wenn man mir da etwas die Augen öffnen könnte.
Maxxis
Access-VBA Fortgeschritten


Verfasst am:
27. März 2009, 17:31
Rufname:
Wohnort: Köln

AW: Formularinhalte werden gespeichert, aber nicht angezeigt - AW: Formularinhalte werden gespeichert, aber nicht angezeigt

Nach oben
       Version: Office 2003

Zitat:
Allerdings ist nun das Kombi_Spezifikation ständig aktiviert. Ich verstehe aber nicht warum.
Was meinst Du damit?
    Soll das Feld denn deaktiviert sein (d.h. ausgegraut, so dass keine Eingabe möglich ist)? Das wird über die Eigenschaft "Me!Kombi_Spezifikation.Enabled" eingestellt.
    Oder möchtest Du den Fokus auf ein anderes Steuerelement setzen?
Das "Kombi_Umweltaspekt_AfterUpdate"-Ereignis wird ausgelöst, wenn der Wert in dem KombiListenfeld geändert wird. Dann wird also folgerichtig die Datenherkunft des Steuerelementes "Me!Kombi_Spezifikation" aktualisiert.

"Form_Current" allein bewirkt gar nichts. Das ist ebenfalls ein Ereignis, das Du nutzen kannst um in dem Fall, dass es ausgelöst wird, Aktionen auszuführen.
Das "Form_Current"-Ereignis wird dann ausgelöst, wenn in dem Formular von einem Datensatz zu einem anderen gewechelt wird.
Genau dann, möchstest Du die "Kombi_Spezifikation" ja aktualisieren.

With... End With bedeutet nur, dass du mit einem bestimmten Steuerelement innerhalb der Klammer arbeiten willst. Damit ersparst du lediglich Tipparbeit:
Code:
    With Me!MeineTextbox
        .FontSize = 11                                        'Schriftgröße 11
        .FontColor = QBColor(0)                          'Schriftfarbe schwarz
        .Enabled = True                                            'Aktivieren
        .SetFocus                                'Focus auf die Textbox setzen
    End With
   
' gleichbedeutend mit:
    Me!MeineTextbox.FontSize = 11                             'Schriftgröße 11
    Me!MeineTextbox.FontColor = QBColor(0)               'Schriftfarbe schwarz
    Me!MeineTextbox.Enabled = True                                 'Aktivieren
    Me!MeineTextbox.SetFocus                     'Focus auf die Textbox setzen
Das erspart Dir lediglich die Tipparbeit und macht den Code übersichtlicher.

"Me.ActiveControl" wird deshalb nicht funktionieren, weil diese Anweisung das Steuerelement anspricht, das gerade den Focus hat. Wenn also ein anderes Steuerelement vorher den Focus bekommen hat, dann versucht die Anweisung die nachfolgenden Eigenschaften eben diesem zuzuordnen. Du willst ja aber ein bestimmtes Kombifeld aktualisieren, egal welches Element gerade den Focus besitzt.

Beispiel:
Code:
Private Sub Form_Current()
    Me.ActiveControl.BackColor = QBColor(2)
End Sub
Dies würde die Hintergrundfarbe des aktiven Steuerelementes einfärben (man muss natürlich sicherstellen, dass es sich dabei um ein Steuerelement handelt, welches die Eigenschaft BackColor besitzt, sonst gibt es eine Fehlermeldung).
Willi Wipp
Moderator


Verfasst am:
28. März 2009, 02:34
Rufname:
Wohnort: Raum Wiesbaden

Re: Formularinhalte werden gespeichert, aber nicht... (III) - Re: Formularinhalte werden gespeichert, aber nicht... (III)

Nach oben
       Version: Office 2003

Hi beckd,

warum verwendest Du nicht Variante 1 aus dem letzten Beitrag? Da sollte das abgefangen sein!
Bei neuen und unbekannten Befehlen kann man das Wort im VBA-Editor markieren und F1 betaetigen Wink
Mit Me.ActiveControl geht das auch, solange man die Prozedur nur aus der Ereignis-Prozedur aufruft.
Wenn die Prozedur aber auch aus dem Formular-Ereignis Beim Anzeigen (Current) aufgerufen wird,
dann ist ja nicht sichergestellt das das Kombinationsfeld den Fokus hat!

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Blek
Einsteiger


Verfasst am:
30. März 2009, 10:44
Rufname:


AW: Formularinhalte werden gespeichert, aber nicht angezeigt - AW: Formularinhalte werden gespeichert, aber nicht angezeigt

Nach oben
       Version: Office 2003

Hallo Willi Wipp,

1. zu
Zitat:
Allerdings ist nun das Kombi_Spezifikation ständig aktiviert. Ich verstehe aber nicht warum.
Was meinst Du damit?
Bisher war das Formular so angelegt, dass das zweite Kombi-Feld erst aktiviert wird, wenn eine änderung im ersten Kombi-Feld (Kombi_Umweltaspekt) stattgefunden hat. Ich habe nicht verstanden, weshalb diese Funktion durch die Anwendung deines Codes nun unterbleibt. Der Code
Code:
    With Me!Kombi_Spezifikation
        .Enabled = True
ist ja in meinem alten, wie auch in deinem Code enthalten.

2. zu
Zitat:
warum verwendest Du nicht Variante 1 aus dem letzten Beitrag?
Ich verwende deinen Code jetzt eins zu eins und es funktioniert hervorragend. Vielen, vielen Dank dafür!

3. zu deinen Code-Erklärungen: Ich muss zugeben, dass ich noch nicht alles 100%ig verstehe, was du geschrieben hast. Gerade der Ausdruck "Fokus" bereitet mir noch Probleme, aber da werde ich Stück für Stück vorankommen, denke/hoffe/glaube ich.
Vielen Dank auf jeden Fall für deine Mühe.

Ich setzte dann ein [gelöst] vor den Thread.

Schöne Grüße und vielen Dank noch einmal.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage/Function - nur ein Satz wird angezeigt 1 95ole 89 10. Mai 2013, 20:57
jens05 Abfrage/Function - nur ein Satz wird angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Eingaben werden in der Tabelle nicht angezeigt. WARUM? 6 aschdibaschdi 98 13. Jan 2013, 17:21
JMalberg Eingaben werden in der Tabelle nicht angezeigt. WARUM?
Keine neuen Beiträge Access Tabellen & Abfragen: es werden nicht alle Datensätze angezeigt 2 Sigixx 82 29. Nov 2012, 14:37
Sigixx es werden nicht alle Datensätze angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehungen werden nicht angezeigt 1 Düsentrieb 99 05. Okt 2012, 09:53
KlausMz Beziehungen werden nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Beziehungen von Tabellen werden nicht angezeigt 1 Gast 400 13. Sep 2010, 12:35
AS55 Beziehungen von Tabellen werden nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: OLE Objekte werden auf bestimmtem PC nicht angezeigt. 1 jojolino 912 10. Jun 2010, 09:26
Marina_Arida OLE Objekte werden auf bestimmtem PC nicht angezeigt.
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage: leere Felder werden nicht angezeigt 2 Gast 907 25. März 2009, 18:25
Gast Abfrage: leere Felder werden nicht angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Grösserer Wert aus 2 Spalten soll angezeigt werden 2 fizlipuzli 912 26. Jun 2008, 21:19
fizlipuzli Grösserer Wert aus 2 Spalten soll angezeigt werden
Keine neuen Beiträge Access Tabellen & Abfragen: Datensätze mit leeren Feldern werden nicht angezeigt! 2 Ingo Neuhaus 392 26. Apr 2008, 17:05
Ingo Neuhaus Datensätze mit leeren Feldern werden nicht angezeigt!
Keine neuen Beiträge Access Tabellen & Abfragen: Access - 0 Bestand wird nicht angezeigt 11 Gast 706 25. Jun 2007, 09:46
Willi Wipp Access - 0 Bestand wird nicht angezeigt
Keine neuen Beiträge Access Formulare: Ergebnisse werden nicht in Listenfeld angezeigt 9 Modjo66 692 27. Feb 2006, 17:51
stpimi Ergebnisse werden nicht in Listenfeld angezeigt
Keine neuen Beiträge Access Formulare: Nach Abhängigkeit sollen Felder nicht angezeigt werden 3 X-Zero 596 22. Nov 2005, 13:40
gaga Nach Abhängigkeit sollen Felder nicht angezeigt werden
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln