Spalten und Bänder festlegen
Zeigen Sie Felder der Datenherkunft als Spalten einer Strukturliste an, fassen Sie sie unter mehrstufigen Kopfzeilen zusammen, und verteilen Sie einen Datensatz auf mehrere Zeilen.
Voraussetzungen: WKL Forms Object Library 1.23 oder höher.
Lösungsüberblick
Columns.Add(FieldName, Caption, Band) legt eine Spalte an; ihre Eigenschaften bestimmen Breite, Format, Ausrichtung,
Editor, Sortierung und Summe. Bands.Add(Name, Caption, ParentBand) legt eine Kopfzeile über einer Gruppe von Spalten
an; verschachtelte Bänder ergeben mehrstufige Kopfzeilen. WklColumn.RowIndex platziert eine Spalte in einer zweiten
Zeile des Datensatzes. In der Entwurfsansicht festgelegt, wird die Definition mit dem Formular gespeichert
(ColumnLayout); die Designerseiten Spalten und Bänder bearbeiten dieselben Objekte.
Umsetzung
With Me!List1.Object
.Columns.Clear
.Bands.Clear
.Bands.Add "Bestellung", "Bestellung"
.Bands.Add "Betraege", "Beträge", "Bestellung" ' nested below "Bestellung"
.Columns.Add("Bezeichnung", "Position").Width = 2600 ' 1,440 twips = 1 inch
With .Columns.Add("Menge", "Menge", "Betraege")
.Alignment = walRight
.Summary = wsuSum
End With
With .Columns.Add("Preis", "Preis", "Betraege")
.Format = "Currency"
.SortDirection = wsdDescending ' siblings ordered by price
End With
With .Columns.Add("Notiz", "Notiz", "Bestellung")
.RowIndex = 1 ' second row of each record
End With
.TreeColumn = "Bezeichnung"
.ShowFooter = True
.BestFitColumns
End With
Dim c As WklColumn
For Each c In Me!List1.Object.Columns
Debug.Print c.Name, c.Caption, c.Width
Next
Hinweise
- Der Name einer Spalte ist ihr Feldname;
CellValue,CellTextund die Ereignisse bezeichnen Spalten mit diesem Namen. Formatnimmt Namen von Access-Formaten in Englisch oder Deutsch an (Currency/Währung,Short Date/Datum, kurz) sowie benutzerdefinierte Formate wie#,##0.00.- Ohne
TreeColumnenthält die erste sichtbare Spalte die Baumstruktur. - Benutzer können Spalten in der Breite ändern, verschieben und per Klick auf den Spaltenkopf sortieren;
ColumnResize,ColumnMoveundColumnClickmelden das, undCancelinColumnClickverhindert das Sortieren. - Änderungen zur Laufzeit werden nicht mit dem Formular gespeichert. Um das Layout eines Benutzers zu erhalten, speichern Sie
ColumnLayoutund weisen es später wieder zu.