PDA

Vollständige Version anzeigen : Listenfeld zeigt Einträge nicht mehr an ?!


Hark
23.03.2004, 10:47
Hallo,

habe ein Problem das mir recht spanisch vokommt:

In einem Formular ist ein Listenfeld enthalten, welches in einer Spalte und ohne Überschrift Termine (Datumsangaben, "dd.mm.yyyy") anzeigt.
Das klappt bisher auch ganz gut.

Jetzt zeigt das Listenfeld allerdings keine Einträge mehr an, ich kann die Einträge markieren und die Werte (Daten) des Listenfeldes stimmen auch,
aber es gibt eben nur schwarze Balken im Listefeld wenn ein Eintrag markiert ist.
An der Spaltenbreite oder Schriftfarbe(steht auf schwarz, Hintergrund ist gelb) scheint es nicht zu liegen.

Kann mir vielleicht jemand weiterhelfen ?

Arne Dieckmann
23.03.2004, 10:56
Hast Du evtl. mit der bedingten Formatierung rumgespielt?

Hark
23.03.2004, 12:12
Hallo Arne,

Danke für die rasche Antwort, bin leider etwas langsamer..

Das kann gut sein, aber wohl irgendwie unabsichltlich, habe mich bisher noch nicht mit bedingter Formatierung beschäftigt (oblwohl das ja eine recht praktische Einrichtung zu sein scheint, wie ich gerad gesehen habe..).

Leider kann ich die bed. Form. für Listenfelder bei mir nicht aufrufen :(

Für andere Steuerelemente klappts ... ?

Arne Dieckmann
23.03.2004, 12:17
Eijeijei - da war das mal wieder ein Schnellschuss von mir. Gut - wenn die bedingte Formatierung bei Listenfeldern nicht funktioniert, dann kann man diese auch ausschliessen. ;)

Gibt es evtl. Ereignisprozeduren in Deinem Formular (z.B. Formatierungsanweisungen beim Ereignis "Bei Fokuserhalt), die eine Rolle spielen könnten?

Hark
24.03.2004, 16:24
Hallo Arne,

wie gesagt, etwas langsamer .... :rolleyes:

Das Listenfeld befindet sich in einem einspaltigen Formular, welchem die Tabelle "auftraege" zugrunde liegt. Es soll alle Termine zu einem Auftrag anzeigen (Tabelle "auftraege_termine").
An dem Listenfeld fummel ich von VBA aus relativ viel rum.
Ich habe mir Funktionen wie "FindeListenwert" oder "LoescheListenwert" gemacht,
aber die wichtigste ist in diesem Fall wohl "FuellenListenfeld":


Private Function FuellenListenfeld(ByVal ip_modus As String)
'On Error GoTo ENDE
Dim hlp_rowitems As String
Dim rs_terminliste As Recordset
'Weil die Änderungen in der Termintabelle erst nach Abschluss der Transaktion weggeschrieben werden
' (wenn der Bearbeitungsmodus beendet wird, bei Klick auf btn_ok),
'soll diese Fkt. dem Listenfeld die Einträge zu Beginn des Bearbeitungsmoduses "manuell" zuordnen
'(die Liste hat die normalerweise die Termintabelle als rowsource).
'Gestartet wird mit den Terminen, die zu Beginn des Bearbeitungsmoduses bereits 'vorhanden sind...
'bei Beendigung des Bearbeitungsmoduses wird die 'Recordsource wieder auf die eigenliche Tabelle gesetzt

With Me!liste_auftragtermine
Select Case ip_modus

Case "Editieren"
.RowSourceType = "Value List"
.ColumnCount = 1
.BoundColumn = 1
Set rs_terminliste = CurrentDb.OpenRecordset("SELECT * FROM auftraege_termine WHERE _
auftraege_termine.auftrag_nr=" & Me.au_nr & ";")
If rs_terminliste.RecordCount = 0 Then
hlp_rowitems = ""
Me.f_termininfo.Locked = True
Else
rs_terminliste.MoveFirst
Do Until rs_terminliste.EOF
hlp_rowitems = hlp_rowitems & ";" & Format(rs_terminliste.Fields("datum_termin"), "dd.mm.yyyy")
rs_terminliste.MoveNext
Loop
hlp_rowitems = Right(hlp_rowitems, Len(hlp_rowitems) - 1)
End If
.RowSource = hlp_rowitems

Case "Lesen"
.RowSourceType = "Table/Query"
.ColumnCount = 1
.BoundColumn = 1
.RowSource = "SELECT [auftraege_termine].[datum_termin] FROM auftraege_termine WHERE _
[auftraege_termine].[auftrag_nr]=" & Me.au_nr & "; "

End Select
ENDE:
On Error Resume Next
rs_terminliste.Close
Set rs_terminliste = Nothing
End With
End Function


Ohne Änderung der Rowsource würden neue Termine, die währent des Bearbeitungsmoduses erstellt werden, nicht sofort angezeigt werden. Ich möchte die zugrunde liegende Transaktion behalten, um einen Button "Rückgängig" leichter "bedienen" zu können.

Das merkwürdige ist, das es zwischendurch schon wieder gefunkt hat.
Wollt schon schreiben, das ich den Thread dann ggf. wieder fortsetze ...
Aber dann ist mir das Programm beim "entwickeln" wieder ein paar mal "abgestürzt" und weg waren die Termine wieder (rein optisch) ...

:confused: