Frage

Wir haben eine Standard-Access-List-Box mit mehreren Spalten. Gibt es eine Möglichkeit ganze Zahl oder Währung Spalten haben rechts ausgerichtet?

War es hilfreich?

Lösung

Soweit ich weiß, nicht im traditionellen Sinne, nein. Ich glaube, es gibt einige Produkte von Drittanbietern, die dies zu tun, vielleicht in der Lage, aber es gibt keine nativen ColumnAlignment Eigenschaften für Listboxen in allen Versionen, die ich verwendet habe (nicht Access 2007 verwendet, aber für das, was es wert ist).

Je nachdem, wie Sie das Listenfeld laden, Sie könnten verwenden, um eine Schrift mit fester Breite (wie Courier) und links-pad Ihre Zahlen mit der entsprechenden Anzahl von Räumen, zu emulieren rechten Ausrichtung . Es ist nicht ideal, aber es kann einen Versuch wert sein.

Andere Tipps

Nein. Der nächstgelegene ich gesehen habe, ist JustiCombo das ist eine Datenbankfunktionen zum Zentrum enthält und rechts rechtfertigen Daten für List und Combo-Boxen. Es kann proportionale Schriftarten verwenden, indem Sie die Schriftattribute und Zeichenbreite zu analysieren. Es stopft auch Räume in der Vorderseite der Felder der Datenzentrale / rechts gerechtfertigt erscheinen zu lassen. Es tat das Beste es könnte, aber man könnte ein paar Treppchen sehen. Aber dann vielleicht war ich zu kritisch zu sein.

Je nach Abfrage der Ausrichtung einer Spalte wird von der zugrundeliegenden Tabelle übernommen werden. So gehen Sie auf die Tabelle, wählen Sie die Spalte, in der Mitte / rechts / links ausrichten, und dann Textbox sollte die gleiche Ausrichtung haben. Das wird nicht funktionieren für berechnete Felder, aber es sollte für die meisten anderen.

  1. Konvertieren Sie die Listbox Combobox
  2. Nehmen Sie die Combobox, dass Sie mit der rechten Ausrichtung
  3. umgewandelt
  4. Konvertieren es wieder listbox

In VB ist:

Format(Format("10000", "0.00%"), "@@@@@@@@@@") wo die Zahl der „@“ s die Breite des Feldes, in dem Recht, die Zeichenfolge zu rechtfertigen.

In VBA können Sie:

xFormat(Format("10000", "0.00%"), "@@@@@@@@@@") wobei

Function xFormat(ByVal s, ByVal width As String) As String

    Dim temp As String
    Dim deltaL As Integer

    deltaL = Len(width) - Len(s)
    If deltaL > 0 Then
        temp = Space(deltaL) & s
    Else
        temp = s
    End If
    xFormat = temp
End Function

So wie ich es gelöst war durch folgende Maßnahmen:

Zum File -> options -> Client settings -> General alignment

Ändern Sie die Einstellungen in den Textmodus, und es funktionierte für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top