Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Gaensi am Dezember 03, 2010, 21:44:39

Titel: Tabellenformat mit ALTER TABLE
Beitrag von: Gaensi am Dezember 03, 2010, 21:44:39
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

Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: DF6GL am Dezember 03, 2010, 22:31:57
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.
Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: Gaensi am Dezember 03, 2010, 23:06:40
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
Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: database am Dezember 04, 2010, 16:16:53
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
Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: DF6GL am Dezember 04, 2010, 16:30:44
Hallo Peter,

"die Syntax funzt so nicht"


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

Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: database am Dezember 04, 2010, 16:44:06
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
Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: DF6GL am Dezember 04, 2010, 18:32:38
Hallo Peter,

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

Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: database am Dezember 04, 2010, 19:33:45
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
Titel: Re: Tabellenformat mit ALTER TABLE
Beitrag von: Josef P. am Dezember 04, 2010, 19:47:16
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