Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Access und VB6

Empfohlene Antworten

Veröffentlicht

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.