Geht es irgendwie trotzdem?
Wie kann ich dabei gewährleisten, dass das neue Feld nicht am Ende der
Tabellenbeschreibung angehängt , sondern am Anfang eingefügt wird?
Danke für Tipps
Werner
--
-----------------------------------------------------------
kairos: Werner Partner * Tel +49 2366 886606 * Fax: 886608
kai...@t-online.de * http://www.sonopt.de/partner
"Werner Partner" <kai...@t-online.de> schrieb
Du schreibst nicht, mit welchen Methoden du vorgehst.
per DAO:
Field.Type = dblong
Field.Attributes = dbautoincrfield
per SQL:
DB.Execute "ALTER TABLE Tabelle ADD COLUMN Feld AUTOINCREMENT"
> Wie kann ich dabei gewährleisten, dass das neue Feld nicht am Ende der
> Tabellenbeschreibung angehängt , sondern am Anfang eingefügt wird?
Zitat AR1 S 32:
********
...
Set tdf = db.TableDefs("Tabelle")
...
' Feld an die erste Stelle setzen
tdf!Feld.OrdinalPosition = 0
********
--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-Report - 2. Ausgabe der Access-Zeitschrift - und
Access-FAQ bei http://www.donkarl.com
ja, das soll einer mal wissen ...
Danke und liebe Grüße
Werner
VBA - dies ist richtig, es ging mir um den Typ "dbAutoIncrField"
> Set tdf = db.TableDefs("Tabelle")
> ...
> ' Feld an die erste Stelle setzen
> tdf!Feld.OrdinalPosition = 0
Genau das war's
Danke
Bei mir steht jetzt:
Set td = DB_D.TableDefs("Feiertag")
Set F = td.CreateField("ftag_nr", dbAutoIncrField)
td.Fields.append F
td![ftag_nr].OrdinalPosition = 0
Aber leider, leider funktioniret es nicht, das Feld "ftag_nr" wird nicht
eingefügt.
"Werner Partner" <kai...@t-online.de> schrieb ...
> > Werner Partner schrieb:
> > > Ich möchte gerne in einer Backend-Tabelle ein neues Feld vom Typ
> > > Autowert einrichten. In der OH ist aber dbAutowert nicht als gültige
> > > Variable eingetragen.
> >
> Bei mir steht jetzt:
>
> Set td = DB_D.TableDefs("Feiertag")
> Set F = td.CreateField("ftag_nr", dbAutoIncrField)
> td.Fields.append F
> td![ftag_nr].OrdinalPosition = 0
>
> Aber leider, leider funktioniret es nicht, das Feld "ftag_nr" wird nicht
> eingefügt.
sollte in etwa so aussehen:
Dim dbs As Database
Dim tdf As TableDef
Dim fld As Field
Set dbs = CurrentDb()
Set tdf = dbs.TableDefs("Feiertag")
' Autowertfeld
Set fld = tdf.CreateField("ftag_nr", dbLong)
fld.Attributes = dbAutoIncrField
fld.OrdinalPosition = 0
tdf.Fields.Append fld
Gruss
Elmar
...
Set F = td.CreateField("ftag_nr", dbLong)
f.Attributes = dbautoincrfield
...
Ach so, ich probier's noch mal - danke
> tdf.Fields.Append fld
Das war das Zauberwort, ich habe es einfach vergessen. Ich habe eine
Routine, in der sozusagen routinemäßig evtl. fehlende Felder eingefügt
werden, und beim Kopieren habe ich das append fld einfach gelöscht - aus
Versehen.
Vielen Dank für diesen Hinweis