Lady1201 Geschrieben 15. Juli 2002 Geschrieben 15. Juli 2002 Hallo zusammen! Habe mal wieder ein Problem. Ich habe eine Tabelle in Access, in der ich über ein Ja/Nein-Feld eingebe, ob etwas Fakturierbar ist, oder nicht. Jetzt möchte ich über VB6 in einer Listbox ausgeben lassen, ob etwas fakturierbar ist. Dies funktioniert auch noch. Er gibt mir für fakturierbar wahr und für nicht fakturierbar falsch aus. So weit, so gut. Da dies aber auf die Dauer für viele Einträge recht unübersichtlich ist, würde ich gerne für nicht fakturierbar "nichts" ausgeben lassen und für fakturierbar ein Häckchen oder sonst was. Habe versucht über eine IF-Anweisung das Problem zu lösen und einen neuen Wert zuzuweisen. Da er aber die Daten in der Tabelle nicht überschreiben kann und es auch nicht darf, bekomme ich dann natürlich eine Fehlermeldung! Meine Frage: Wie bekomme ich es hin, dass ich den Wert in der Tabelle nicht ändern muss und er mir das ausgibt, was ich oben beschrieben habe (Häckchen = Wahr, Leeres Feld = Falsch)???? :confused: Der Teil des Codes, in dem ich meine Daten in einer Listbox ausgeben lasse: ListViewBearbeitung.View = lvwReport lblMitarbeiter.Caption = strUserName 'Aufteilung der Listbox in die gewünschte Spaltenanzahl und Beschriftung der Spalten Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Mitarbeiter" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "BusinessUnit" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Bereich" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Taetigkeitsbereich" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Taetigkeit" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Erlaeuterung" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Datum" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Zeit" colX.Width = ListViewBearbeitung.Width / 9 Set colX = ListViewBearbeitung.ColumnHeaders.Add() colX.Text = "Fakturierbar" colX.Width = ListViewBearbeitung.Width / 9 Set db = OpenDatabase _ (App.Path "\" "Arbeitsberichtsdatenbank.mdb") strSQL = "SELECT Uebersicht.Datum, BusinessUnit.Name AS _ BusinessUnit, Bereiche.Name AS Bereich, Uebersicht.Zeit, _ Taetigkeiten_kurz.Name AS Kurzbeschreibung, _ Mitarbeiter.Name & ', ' & Mitarbeiter.Vorname AS _ Mitarbeiter, Taetigkeiten_Lang.Name AS_ Langbeschreibung, Uebersicht.Erlaeuterung,_ Uebersicht.Fakturierbar FROM Taetigkeiten_Lang INNER_ JOIN (Taetigkeiten_kurz INNER JOIN (Mitarbeiter INNER_ JOIN (BusinessUnit INNER JOIN (Bereiche INNER JOIN_ Uebersicht ON Bereiche.Bereichs_ID =_ Uebersicht.Bereichs_ID) ON BusinessUnit.BusinessUnit_ID_ = Uebersicht.BusinessUnit_ID) ON _ Mitarbeiter.Mitarbeiter_ID = Uebersicht.Mitarbeiter_ID) ON_ Taetigkeiten_kurz.Kurz_ID = Uebersicht.Kurz_ID) ON_ Taetigkeiten_Lang.Lang_ID = Uebersicht.Lang_ID;" Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) 'Wenn keine Einträge in der Access-Tabelle enthalten sind, ... If rs.EOF Then MsgBox ("Keine Ausgabe möglich, da keine Einträge_ vorhanden!") Else 'Ausgabe der Spalteneinträge aus der Accesstabelle in der_ Listbox, bis alle Zeilen abgearbeitet sind rs.MoveFirst Do Until rs.EOF Set litEintrag = ListViewBearbeitung.ListItems.Add(, , _ (rs.Fields("Mitarbeiter"))) 'Zeile litEintrag.SubItems(1) = rs.Fields("BusinessUnit") 'BusinessUnit ist die Bezeichnung der Spalte in der Tabelle Uebersicht, in der die entsprechenden Daten gespeichet werden litEintrag.SubItems(2) = rs.Fields("Bereich") litEintrag.SubItems(3) = rs.Fields("Kurzbeschreibung") litEintrag.SubItems(4) = rs.Fields("Langbeschreibung") litEintrag.SubItems(5) = rs.Fields("Erlaeuterung") litEintrag.SubItems(6) = rs.Fields("Datum") litEintrag.SubItems(7) = rs.Fields("Zeit") litEintrag.SubItems(8) = rs.Fields("Fakturierbar") rs.MoveNext Loop End If Ich hoffe, ihr könnt mir helfen. VLG Lady Zitieren
Lady1201 Geschrieben 15. Juli 2002 Autor Geschrieben 15. Juli 2002 Hallo nochmal! Habe es allein geschafft! Nach 100 Versuchen endlich der richtige Einfall!! Vielleicht interessiert sich jemand für die Lösung: Der Anfang ist genau wie oben, statt litEintrag.SubItems(8) = rs.Fields("Fakturierbar") habe ich dann einfach folgendes eingesetzt. strFakturierbar = rs.Fields("Fakturierbar") If strFakturierbar = True Then litEintrag.SubItems(8) = "x" Else litEintrag.SubItems(8) = "" End If Muss jetzt nur noch das x durch ein Häckchen ersetzten. Das werde ich wohl auch noch schaffen! :-)) Zitieren
g_nikolai Geschrieben 15. Juli 2002 Geschrieben 15. Juli 2002 wenn du ein Häckchen machen möchtest müstest Du die Schriftart WingDings einstellen und dann chr(254) benutzten als Wert. das Problem wird nur sein das man für eine Spalte nicht die Schriftart wechslen kann. Guido Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.