PDA

Vollständige Version anzeigen : Sichtbar/unsichtbar - fehler im Bericht


bugfix
22.06.2001, 07:49
Hallo! Ich will folgendes machen: Wenn in einem Formular ein Kontrollkästchen true ist, soll ein bezeichnungsfeld im Bericht sichtbar sein, bei false nicht. Hab folgendes in den Bericht eingefügt:

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
Dim Ctl As Control
If Forms!Checkliste_NG_zwischenspeicher.checkver = True Then
For Each Ctl In Me.Controls
If InStr(Ctl.Tag, "bedingtsichtbar") > 0 Then Ctl.Visible = False
Next
Else
For Each Ctl In Me.Controls
If InStr(Ctl.Tag, "bedingtsichtbar") > 0 Then Ctl.Visible = True
Next
End If
End Sub

Es funktioniert aber nicht. Es ist immer sichtbar. Bei Bildern funkt. es auch nicht. Was mach ich falsch?? (Access 97)
DANKE!!

kama
22.06.2001, 08:39
Mach aus deinem Bezeichnungsfeld ein ungebundenes Feld
Trage unter daten ein
=wenn(DeinJaNein;"Dein Text";"")
Das müßte klappen

bugfix
22.06.2001, 08:50
Hallo! Erstmals besten dank für deine Antwort! Leider hilft mir das nix. (Hab ich vorher auch schon probiert.) Es hilft deshalb nix, weil das Bezeichnungsfeld eine Hintergrundfarbe und einen Rahmen haben MUSS. Darum kann ich zwar was oder nix reinschreiben, das Feld ist am Bericht dann aber noch immer zu sehen. Ich müsste es wirklich nicht sichtbar machen. Vielleicht hilft mir noch mal jemand... DANKE!

Kevin
22.06.2001, 09:05
Selectiere vorher noch die Art des ctl.
z.B.:
if ctl.controltype = actextbox then
ctl....
end if

Hoffe ich konnte Dir helfen
Kev

Kurt aus Kienitz
22.06.2001, 09:11
Hallo,

Nun will ich auch meine Senf dazugeben :)

Ich habe folgenden Code, und der funktioniert:

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)

Dim Ctl As Control

If Forms![ReportEWOeffnen].CbSichtbar Then
For Each Ctl In Me.Controls
If InStr(Ctl.Tag, "bedingtsichtbar") > 0 Then Ctl.Visible = True
Next
Else
For Each Ctl In Me.Controls
If InStr(Ctl.Tag, "bedingtsichtbar") > 0 Then Ctl.Visible = False
Next
End If


End Sub

Die einzigen Unterschiede zu Deinem Code sind:

Der Name des Formulares in eckigen Klammern.
Die Abfrage der Checkbox ohne True bzw. False

bugfix
22.06.2001, 09:36
Hallo! DANKE vielmals um die zahlreichen Antworten! Da mein Problem einfach nicht hinhaut und ich schon am verzweifeln bin (Deadline des Projekts 3.7.) hab ich einen dummy gemacht, der das problem beinhaltet: www.diewebagentur.at/test.mdb (http://www.diewebagentur.at/test.mdb)
Die DB hat 130k beinhaltet ein formular "test" und einen bericht "test". Wenn man im Formular den button drückt soll... ihr wisst schon, ihr könnt ja lesen (oben)
Vielleicht hat jemand (noch) ein Herz für mich :-))
Danke euch!

kama
22.06.2001, 09:45
Vieleicht verstehe ich ja dein Problem nicht richtig dann hier schon Sorry
Bei mir klappts wenn ich folgendes an Öffnen binde
Private Sub Report_Open(Cancel As Integer)

If Forms![Formular]![Kontrollkästchen] Then

Me![Bezeichnungsfeld].Visible = True
Else
Me![Bezeichnungsfeld].Visible = False
End If

End Sub

Kurt aus Kienitz
22.06.2001, 09:46
Hallo nochmal,

In dem Beispiel ist unter Tag (Eigenschaft Marke) nichts eingetragen.

Wenn Du statt Ctrl.Tag gegen Ctrl.Name prüfst funktioniert es ;)

Birgit Dannenberg
22.06.2001, 09:46
Du hast das TAG ("Marke") ja gar nicht belegt!

Gruss Birgit

bugfix
22.06.2001, 10:02
FUNKT, DANKE !!!!!!!!!!!!!!!!!!!!!

SCHÖNEN TAG NOCH!!!

:-)))))))))))))))

kama
22.06.2001, 10:33
Na was funkt denn jetzt??
Wäre nett wenn du es uns sagen könntest.
Denn auch ich bin für jede Tip dankbar.