Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Tabellenformat mit ALTER TABLE

Begonnen von Gaensi, Dezember 03, 2010, 21:44:39

⏪ vorheriges - nächstes ⏩

Gaensi

Hallo zusammen,

Habe ein Feld in einer Tabelle mit

CurrentDb.Execute "ALTER TABLE MG_Abruf ALTER COLUMN Depot_FM DOUBLE"

von Text nach Double geändert

Wenn ich nun die Tabelle öffne stehen die Zahlen immernoch linksbündig in der Tabelle --> ergo als Text

In der Tabellenentwurfsansicht hat die Feldgröße den Wert Double

und bei Format steht "@" drin. Entferne ich nun das "@" zeigt mir die Tabelle die Zahlen richtig (rechtsbündig ) an --> ergo als Zahl

Nun die Frage. Wie ändere ich per VBA die Feldeigenschaft Format?

Danke schon mal

Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

DF6GL

#1
Hallo,

z. B.:

CurrentDb.TableDefs("MG_Abruf").Fields("Depot_FM").Properties("Format") = " "


wobei:

Formate wie Schall und Rauch sind.
Eine Formatangabe keinen Einfluß auf den Datentyp hat.
Tabellen so oder so nicht zur Ansicht bereit gestellt werden sollten.

Gaensi

Danke für den Wink mit dem Zaunpfahl.

Klar jetzt wo Du es sagst.

Hatte mich total ins Detail verprogrammiert. :o

btw: die Syntax funzt so nicht
Kommt Moses nicht zum Berg, muss der Berg eben zu Moses

database

Hallo,

Du KÖNNTEST dir mit folgendem Codefragment die Properties des interssierenden Feldes augeben lassen um zu sehen welche Eigenschaften du wie ansprechen mußt.


Dim i As Long

For i = 0 To CurrentDb.TableDefs("MG_Abruf").Fields("Depot_FM").Properties.Count - 1
      Debug.Print "(" & i & ") " & CurrentDb.TableDefs("MG_Abruf").Fields("Depot_FM").Properties(i).Name
Next

DF6GL

Hallo Peter,

"die Syntax funzt so nicht"


lag wohl an falschen Leerzeichen im Tabellen- und Feldnamen, die sich beim Kopieren eingeschlichen hatten...   ;D


database

Hallo Franz,

Da ich noch nie auf die Idee gekommen wäre Feldeigenschften einer Tabelle per VBA zu ändern habe ich mal versuchsweise die Eigenschften eines Feldes vom Typ Zahl und eines vom Typ Text  auflisten lassen.
Dabei habe ich festgestellt, dass die Eigenschaft "Format" in der Form nicht existiert - was mich irgendwie wundert, ist sie doch im graphischen Tabellenentwurf sehr wohl mit diesem Namen vorhanden...

Eigenschaften eines Zahlenfeldes:

(0) Value
(1) Attributes
(2) CollatingOrder
(3) Type
(4) Name
(5) OrdinalPosition
(6) Size
(7) SourceField
(8) SourceTable
(9) ValidateOnSet
(10) DataUpdatable
(11) ForeignName
(12) DefaultValue
(13) ValidationRule
(14) ValidationText
(15) Required
(16) AllowZeroLength
(17) AppendOnly
(18) FieldSize
(19) OriginalValue
(20) VisibleValue
(21) ColumnWidth
(22) ColumnOrder
(23) ColumnHidden
(24) DecimalPlaces
(25) DisplayControl
(26) TextAlign
(27) AggregateType
(28) GUID

DF6GL

Hallo Peter,

definier mal ein Format im Tabellenentwurf und liste die Properies nochmal aus.


database

Sieh da ... !

Tja es geschehen doch noch Zeichen und Wunder  :-\

Was mich aber trotzdem an der Sache insgesamt stört ist die Übergabe eines Leerzeichens wenn ich das Format 'löschen' will.
Aber - ich komme wahrscheinlich eh nie in die Verlegenheit das so zu verwenden, daher ist's auch gleich wieder Wurscht.

Ist aber trotz Allem ein paar Versuche und Tests wert

Josef P.

Hallo!

Wenn du die Format-Eigenschaft weg haben willst, könntest du die Eigenschaft löschen statt den Wert umzustellen.
CurrentDb.TableDefs("MG_Abruf").Fields("Depot_FM").Properties.Delete "Format"

mfg
Josef