Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Bild auf Befehlsschaltfläche nur unter Bedingungen anzeigen
Gehe zu Seite 1, 2  Weiter
zurück: Standartfarben im Formular ändern ? weiter: kombinationsfeld spalten separat ? 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
KoMa
Gast


Verfasst am:
02. Okt 2006, 14:01
Rufname:

Bild auf Befehlsschaltfläche nur unter Bedingungen anzeigen - Bild auf Befehlsschaltfläche nur unter Bedingungen anzeigen

Nach oben
       Version: Office 2003

Ich suche eine Lösung für folgendes Problem:

Ich habe eine Befehlsschaltfläche, auf dieser möchte ich gerne eine Grafik anzeigen lassen. Dies soll jedoch nur geschehen, wenn der Wert in einer bestimmten Spalte 1 ist, ist er 0, so soll das Bild nicht angezeigt werden.
Ist dies möglich? Wenn ja wie?
Oder habt ihr Alternativen?
derArb
getting better


Verfasst am:
02. Okt 2006, 15:00
Rufname: derArb
Wohnort: Berlin


AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

hallo,

das geht meines Erachtens nur mit einem Bild und enem transparenten button darüber. Das Bild lässt man mit .visible = false verschwinden und mit .visible =true erscheinen.

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Gast



Verfasst am:
02. Okt 2006, 15:26
Rufname:

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Danke für die schnelle Antwort. Bin somit nun schon einen kleinen Schritt weiter. Nun aber folgendes Problem:
Der Wert (0 oder 1) steht nicht in der Tabelle, sondern wird nur durch eine Abfrage generiert.
Wie kann ich nun bewirken, dass z.B. Bild 1 nur dann angezeigt wird, wenn eine Abfrage für Prim-Schlüssel 01, 1 ergibt. Und dann so weiter, für Bild 2 ist dann der Wert der Abfrage für Prim-Schlüssel 02 ausschlaggebend.
Desweiteren muss sich das von alleine aktuallisieren, damit sich während Änderungen das Bild automatisch ein-/ausblendet!
derArb
getting better


Verfasst am:
02. Okt 2006, 17:03
Rufname: derArb
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

derArb am 02. Okt 2006 um 16:09 hat folgendes geschrieben:
hallo,

vorausgesetzt, dass die ID der Tabelle identisch der ID in der Abfrage ist,
dann evtl. so
{Code gekuerzt by Willi Wipp Wink}
mfg
derArb

derArb am 02. Okt 2006 um 16:34 hat folgendes geschrieben:

hallo,

da waren noch Fehler drin
Code:
Private Sub Form_Current()
    Dim rs As DAO.Recordset 'Verweise setzen nicht vergessen
   
    Set rs = CurrentDb.OpenRecordset("Abfrage1")
    With rs
        If .EOF And .BOF = True Then Exit Sub
        .FindFirst "ID = " & (Me!ID)
        If .Fields(2) = 0 Then Me!testbutton.Visible = True 'Fields1 ist die _
                                Spalte mit der Zahl 0 oder 1 in deiner Abfrage
        If .Fields(2) = 1 Then Me!testbutton.Visible = False
    End With
    rs.Close
    Set rs = Nothing
End Sub

@ Willi Wipp,

ich musste noch eine Fehler Abfangroutine einbauen, denn sonst gibts
nen Fehler, wenn man mit den Navigationsbuttons auf (Autowert) stösst.

code mit Fehlerabfangroutine
Code:
Private Sub Form_Current()
    Dim rs As DAO.Recordset 'Verweise setzen nicht vergessen
   
    Set rs = CurrentDb.OpenRecordset("Abfrage1")
    With rs
        If .EOF And .BOF = True Then Exit Sub
        On Error Resume Next '<====== eingefügt
        .FindFirst "ID = " & (Me!ID)   'springt damit immer auf einen Fehler _
                                 ohne on Error resume next bei Feld (Autowert)
        If .Fields(2) = 0 Then Me!testbutton.Visible = True 'Fields1 ist die _
                                Spalte mit der Zahl 0 oder 1 in deiner Abfrage
        If .Fields(2) = 1 Then Me!testbutton.Visible = False
    End With
    rs.Close
    Set rs = Nothing
End Sub
daher besser folgender code, der ohne on Error resume next funktioniert
Code:
Private Sub Form_Current()
    Dim rs As DAO.Recordset 'Verweise setzen nicht vergessen
   
    Set rs = CurrentDb.OpenRecordset("Abfrage1")
    Do While Not rs.EOF And rs.BOF
       With rs
           .FindFirst "ID = " & (Me!ID)
           If .Fields(2) = 0 Then Me!testbutton.Visible = True    'Fields(2) _
                        ist die Spalte mit der Zahl 0 oder 1 in deiner Abfrage
           If .Fields(2) = 1 Then Me!testbutton.Visible = False
       End With
    Loop
    rs.Close
    Set rs = Nothing
End Sub

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Nouba
nicht ganz unwissend :)


Verfasst am:
02. Okt 2006, 17:28
Rufname:
Wohnort: Berlin


AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

@derArb,

na na - da wird ja im Trefferfall eine schöne Endlosschleife produziert.

@Koma,

versuche es einmal mit diesem Ansatz.
Code:
Private Sub Form_Current()
  Me!testbutton.Visible = Nz(DLookup( _
                               "[FeldnameInAbfrage]", _
                               "Abfragename", _
                               "[ID] = " & Nz(Me![ID], 0)), 0) <> 0
End Sub
Etwas schneller dürfte es so gehen.
Code:
Private Sub Form_Current()
  Dim bButtonAnzeigen   As Boolean

  On Error Resume Next
  bButtonAnzeigen = CBool(DBEngine(0)(0).OpenRecordset( _
                          "SELECT [FeldnameInAbfrage] FROM Abfragename " & _
                          "WHERE [ID] = " & Me![ID], _
                          dbOpenForwardOnly)(0))
  Me!testbutton.Visible = bButtonAnzeigen
End Sub
PS: die eckigen Klammern können natürlich entfallen, wenn weder Sonder- noch Leerzeichen in Feldnamen verwendet werden.
_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
derArb
getting better


Verfasst am:
02. Okt 2006, 17:53
Rufname: derArb
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

hallo,

@Nouba,

schmeisst den do while code raus, der geht sowieso nicht, wie ich plötzlich
feststelle. Wüsste nur gerne, warum nicht..auch wenn er umständlich ist.

Deine codes sind natürlich die Astrallösung.

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Nouba
nicht ganz unwissend :)


Verfasst am:
02. Okt 2006, 18:11
Rufname:
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Hallo derArb,

Du suchst ja in jeder Runde immer wieder nach dem ersten Datensatz, der gefunden wird und startest die nächste Runde. Um in einem DAO-Recordset vom Anfang bis Ende zu suchen (Anfang und Ende wird durch die Sortierung der Datenquelle festgelegt), prüft man mit der NoMatch-Methode einmalig auf Treffer und verwendet im Schleifenrumpf dann die FindNext-Methode.

Etwas Pseudo-Kode:
Code:
Const csKriterium = "Ein Suchkriterien-Ausdruck"

'mit einem geöffneten DAO.Recordset (rs)
With rs
  .FindFirst csKriterium
  'Schleife abarbeiten, solange etwas gefunden wird
  Do Until .NoMatch
    'hier den Trefferdatensatz verarbeiten
    .FindNext csKriterium
  Loop
End With
PS: Mit Exit Do kann man auch vorzeitig aus der Schleife aussteigen.
_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
derArb
getting better


Verfasst am:
02. Okt 2006, 18:16
Rufname: derArb
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

hallo,

@ Nouba,

danke

mfg
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
KoMa
Gast


Verfasst am:
05. Okt 2006, 15:34
Rufname:

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Antschuldigt, aber als absoluter VBA-Noob komm ich selbst damit nicht klar.

Also ich habe eine Tabelle (Tabelle01) in der mehrere Werte sind. Sie ist wie folgt aufgebaut:
Platz-ID (gleichzeitig Prim-Schlüssel: 01011, 01012, 01013 usw) - Teilenummer (Text) - Teilebezeichnung (Text) - usw.

Nun habe ich eine Abfrage (Abfrage2) mit folgenden Spalten:
Teilenummer - Teilebezeichnung - usw. - Ausdr1

Sobald nun in Teilenummer, Teilebezeichnung oder eines der anderen Feldern etwas steht, schreibt mir die Abfrage in Ausdr1 den Wert 1.

Nun will ich in einem Formular grafisch darstellen lassen, ob in dem Feld Ausdr1 aus der Abfrage 2 der Wert 0 oder 1 eingetragen ist.

Könntet ihr mir evtl den kompletten Code inkl der benannten Abfrage usw schreiben.
Nouba
nicht ganz unwissend :)


Verfasst am:
05. Okt 2006, 17:33
Rufname:
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Hallo,

am besten stellst Du für Deinen Wunsch ein Minimalbeispiel mit einigen Spieldaten und einem zumindest mit Steuerelementen vorbereiteten Formular zum Download zur Verfügung.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Gast



Verfasst am:
06. Okt 2006, 10:07
Rufname:

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Ok, habe jetzt mal eine kleine Beispiel DB (Beispiel.zip) gemacht.

Nun beschreibe ich nochmal meinen Wunsch anhand der Beispiel-DB.
Ich möchte in dem Formular das Objekt, welches jetzt rot ist dynamisch haben. Wenn der Wert in der Abfrage1 im Feld [Belegt] = 1 ist, soll das Objekt rot sein, ist der Wert = 0 so soll das Objekt grün sein.

Falls sich dieses Vorhaben nicht mit einem Wert verwirklichen lässt, so könnte man auch alternativ verwenden:
- Button mit Bild drauf bei = 1, ohne Bild bei = 0
- Bild anzeigen bei = 1, verbergen bei = 0

Für euer Bemühen danke ich euch schonmal im Vorraus.
Nouba
nicht ganz unwissend :)


Verfasst am:
06. Okt 2006, 10:17
Rufname:
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Hallo,

im Einzelformular sollte dieser Kode möglich sein.
Code:
Private Sub Form_Current()
  If Len(Me!Nummer) Or _
     Len(Me!Bezeichnung) Or
     Len(Me!Beschreibung) Then
    Me!Rechteck8.BackColor = vbRed
  Else
    Me!Rechteck8.BackColor = vbGreen
  End If
End Sub

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Gast



Verfasst am:
06. Okt 2006, 11:01
Rufname:

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen an - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen an

Nach oben
       Version: Office 2003

Hab noch was vergessen:

Es soll in den einem Formular die Belegung aller Datensätze angezeigt werden.
Habe die Beispiel-DB (Beispiel.zip) nochmal aktualisiert!
Nouba
nicht ganz unwissend :)


Verfasst am:
06. Okt 2006, 11:11
Rufname:
Wohnort: Berlin

AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Hallo,

ich würde den letztem Ansatz ganz schnell vergessen. Denn wenn ein neuer Datensatz hinzukommt, ein Datensatz gelöscht wird oder die PlatzID aus welchem Grund auch immer geändert wird, wäre jedesmal der Formularentwurf zu ändern.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
Gast



Verfasst am:
06. Okt 2006, 11:25
Rufname:


AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei - AW: Bild auf Befehlsschaltfläche nur unter Bedingungen anzei

Nach oben
       Version: Office 2003

Also die PlatzIDs werden von mir von vornerein festgelegt, also Datensätze werden nicht mehr hinzugefügt oder gelöscht. Es werden nur die Felder der Datensätze belegt, geändert oder geleert. Und dazu möcht ich gern die farbige Anzeige haben.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
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: nur einmal anzeigen 4 bohne 674 21. Okt 2005, 16:22
bohne nur einmal anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung im Listenfeld anzeigen? 3 Schnoop 804 20. Okt 2005, 08:24
Timbo Berechnung im Listenfeld anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abos die ablaufen Anzeigen lassen ? 1 reneschaub 477 04. Okt 2005, 18:56
jens05 Abos die ablaufen Anzeigen lassen ?
Keine neuen Beiträge Access Tabellen & Abfragen: Bild einfügen 1 merlinteam 578 10. Sep 2005, 11:14
rita2008 Bild einfügen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Formular anzeigen, und dann sortieren 1 christian_10 597 22. Aug 2005, 13:28
lothi Abfrage in Formular anzeigen, und dann sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: gruppieren-beide texteintraege anzeigen 7 paty 1196 14. Jun 2005, 02:54
tobes gruppieren-beide texteintraege anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrageergebnis als neues Formular anzeigen 2 mila 3034 12. Apr 2005, 12:38
mila Abfrageergebnis als neues Formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Attribut unter gewissen Bedingungen auf "required" 6 Noob 592 06. Apr 2005, 10:46
Noob Attribut unter gewissen Bedingungen auf "required"
Keine neuen Beiträge Access Tabellen & Abfragen: alle Kunden mit letzter Rechnung anzeigen 2 Dalmatinchen 1109 08. März 2005, 20:58
Dalmatinchen alle Kunden mit letzter Rechnung anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Löschabfrage mit mehreren Bedingungen 5 Gast 1416 15. Nov 2004, 16:01
Skogafoss Löschabfrage mit mehreren Bedingungen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit sum, max Wert und verhätnis summe/max anzeigen? 1 IV 2531 04. Nov 2004, 18:14
Skogafoss Abfrage mit sum, max Wert und verhätnis summe/max anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze anzeigen? 3 MichaelB 1122 19. Okt 2004, 12:45
lothi Anzahl der Datensätze anzeigen?
 

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