Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

dbAutowert per VBA

54 views
Skip to first unread message

Werner Partner

unread,
Jan 20, 2002, 5:52:24 AM1/20/02
to
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.

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

Günther Ritter

unread,
Jan 20, 2002, 8:05:26 AM1/20/02
to
dbAutoIncrField
--
Gruss
Günther
http://www.access-hilfe.de

"Werner Partner" <kai...@t-online.de> schrieb

Karl Donaubauer

unread,
Jan 20, 2002, 8:49:53 AM1/20/02
to
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.

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


Werner Partner

unread,
Jan 20, 2002, 9:34:59 AM1/20/02
to
"Günther Ritter" schrieb:
>
> dbAutoIncrField

ja, das soll einer mal wissen ...

Danke und liebe Grüße

Werner

Werner Partner

unread,
Jan 21, 2002, 7:38:10 AM1/21/02
to
Karl Donaubauer 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.
>
> Du schreibst nicht, mit welchen Methoden du vorgehst.
>
> per DAO:
> Field.Type = dblong
> Field.Attributes = dbautoincrfield

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

Werner Partner

unread,
Jan 26, 2002, 6:08:31 AM1/26/02
to
Karl Donaubauer 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.
>
> Du schreibst nicht, mit welchen Methoden du vorgehst.
>

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.

Elmar Boye

unread,
Jan 26, 2002, 9:06:45 AM1/26/02
to
Hallo Werner,

"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


Karl Donaubauer

unread,
Jan 26, 2002, 8:29:38 AM1/26/02
to
Werner Partner 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.

...
Set F = td.CreateField("ftag_nr", dbLong)
f.Attributes = dbautoincrfield
...

Werner Partner

unread,
Jan 26, 2002, 2:05:32 PM1/26/02
to
Karl Donaubauer schrieb:

>
> Werner Partner 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.
>
> ...
> Set F = td.CreateField("ftag_nr", dbLong)
> f.Attributes = dbautoincrfield
> ...

Ach so, ich probier's noch mal - danke

Werner Partner

unread,
Jan 26, 2002, 3:32:34 PM1/26/02
to
Elmar Boye schrieb:


> 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

0 new messages