Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1115628
HeuteHeute113
GesternGestern1114
Diese WocheDiese Woche2359
Dieser MonatDieser Monat23840
GesamtGesamt1115628
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 234324
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 24 Members: 0 Guests: 24
No members online
   

Beiträge

Listview Demo

Bewertung:  / 0
SchwachSuper 
Details

Problemstellung:
Das Listenfeld in MS-Access ist ja schon eine prima Sache.
Es hat aber ein fehlende Funktionalitäten.
Leider ist es nicht möglich Zeilen einfärben oder einzelne Einträge in Fett darzustellen.
Dies ist aber mit dem Listview-Control möglich.
Das Control ist etwas komplizierte zu bedienen aber wenn man mal dahinter gestiegen ist
geht das Problemlos.

Voraussetzungen:
Das Bsp ist unter A00-A03 lauffähig, unter A07 nicht getestet.
MSCOMCTL.OCX muss im System32 Verzeichnis vorhanden sein.

Funktionsweise:
Auf die Grundeinstellungen des Listviews gehe jetzt nicht weiter ein.
Diese Einstellungen kann sich jeder in der Bsp-DB ansehen.
Beim Start der DB wird das Listview erstmal ganz normal mit Daten gefüllt.
Private Sub Fill_ListView()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim objListView As ListView
    Dim objListItem As ListItem
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tbl_Produkte", dbOpenSnapshot)
    Set objListView = Me!ListView1.Object
    Me.ListView1.ListItems.Clear
    Me.ListView1.Refresh
    Do While Not rst.EOF
        Set objListItem = objListView.ListItems.Add(, "a" & rst!P_ID, rst!Produkt)
        With objListItem
            .ListSubItems.Add , , rst!Produkt
            .ListSubItems.Add , , Format(rst!Preis, "Currency")
        End With
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
    Set db = Nothing
End Sub

Eine Besonderheit ist zubeachten.


Das Listview benötigt eine Indexspalte.
Jetzt könnte man sagen, na ist doch toll, ich habe ja ein Autowertfeld in meiner Tabelle.
Falsch gedacht, das Indexfeld darf nicht mit Zahlen beginnen.
Deshalb diese Zeile:
Set objListItem = objListView.ListItems.Add(, "a" & rst!P_ID, rst!Produkt)
Hier wird dem Autowert ein "a" vorangesetzt.
Jetzt sieht das Listenfeld auch nicht viel anders aus wie ein Listenfeld.
 
 
Nun ist es an der Zeit etwas Farbe ins Spiel zubringen.
Damit das Demo etwas variabler ist habe ich mal einen Farbauswahldialog integriert in dem die Farben
frei definiert werden können.
 
 
Mittels der Optionsfelder können nun verschiedene Möglichkeiten aufgerufen werden.
Wobei die Kriterien hier im Bsp. fest sind, aber es ist auch nur ein Demo.
1. Einfärben der Spalte "Produkt"
 

2. Einfärben der Spalte "Preis"
 

3. Einfärben der Spalte "Produkt" und Darstellung Fett bei Preis >50
 
 
4. Einfärben der Spalte "Preis" und Darstellung Fett bei Preis >50
 
 
 Zum Füllen des Listviews sieht dann der Code so aus:
Private Sub Fill_ListViewParam(nColumn As Long, Optional nColor1 As Long = 0, _
                               Optional nColor2 As Long = 0, Optional nColor3 As Long = 0, _
                               Optional bBold As Boolean = False)
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim objListView As ListView
    Dim objListItem As ListItem
    Dim curPrice As Currency
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tbl_Produkte", dbOpenSnapshot)
    Set objListView = Me!ListView1.Object
    Me.ListView1.ListItems.Clear
    Me.ListView1.Refresh
    Do While Not rst.EOF
        Set objListItem = objListView.ListItems.Add(, "a" & rst!P_ID, rst!Produkt)
        With objListItem
            .ListSubItems.Add , , rst!Produkt
            .ListSubItems.Add , , Format(rst!Preis, "Currency")
            curPrice = rst!Preis
            If curPrice >= 0 And curPrice <= 20 Then
                .ListSubItems(nColumn).ForeColor = nColor1
            ElseIf curPrice > 20 And curPrice <= 50 Then
                .ListSubItems(nColumn).ForeColor = nColor2
            Else
                .ListSubItems(nColumn).ForeColor = nColor3
                .ListSubItems(nColumn).Bold = bBold
            End If
        End With
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
    Set db = Nothing
End Sub

Dateien:
Listview Demo
Demo zur Benutzung des Listviews
für A00-A03, unter A07 und Vista nicht getestet.

Die Zip-Datei enthält ein Version ab A00
Datum 16.02.2009 Dateigröße 26.7 KB Download 1144

Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden