Zum Inhalt springen

Access und VB6


Lady1201

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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! :-))

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...