Ange egenskaper på fält i tabell
Hej
Jag har en application där jag vill skapa ett antal fält i ett antal tabeller.
Mina skapade fält ska ha vissa egenskaper, problemet är att det bara går
att sätta vissa egenskaper. Jag har t.ex. ett fält av typen valuta där jag sätter
defaultvärde = 0, men jag kan t.ex. inte sätta antalet decimaler (DecimalPlaces).
Om jag listar alla egenskaper för exemplet ovan får jag följande egenskaper:
SourceField = Valuta_fält_tmp
SourceTable = temp
DataUpdatable = Falskt
DefaultValue = 0
ValidationRule =
ValidationText =
Required = Falskt
AllowZeroLength = Falskt
ColumnWidth = -1
ColumnOrder = 0
ColumnHidden = Falskt
Format = #,##0.00" kr";-#,##0.00" kr"
DecimalPlaces = 0
Borde jag inte kunna sätta alla dessa egenskaper?
Jag använder följande kod:
.
.
Set tbl = DBEngine.Workspaces(0).Databases(0).TableDefs(tablename)
Set fld = tbl.CreateField(fieldname, 5)
with fld
.DefaultValue = 0
' här vill jag få in övriga egenskaper...
end with
tbl.fields.Append fld
.
.
Tack på förhand
/Mattias
Svara
Sv: Ange egenskaper på fält i tabell
Du använder Properties kollectionen för att sätta utökade egenskaper.
<code>
Set db = CurrentDb
Set tbl = db.TableDefs(tablename)
Set fld = tbl.CreateField(fieldname, 5)
fld.DefaultValue = 0
fld.Properties("DecimalPlaces") = 2
tbl.fields.Append fld
</code>
Svara
Sv: Ange egenskaper på fält i tabell
Jag har testat det, tyvärr ger det körfel 3270-Property not found.
Jag har även testat att skapa propertyn:
.
.
Set prpnew = fld.CreateProperty("DecimalPlaces", dbInteger, 0) fld.Properties.Append prpnew
tbl.fields.Append fld
.
.
, men det funkar inte heller
Fler tips?
Svara