PDA

Vollständige Version anzeigen : Wert in Tabellenfeld hochzählen


bassmju
20.03.2003, 17:40
Hallo,

ich möchte in eine Tabelle, die ich per VBA aus einer ASCII-Datei fülle, das Feld "laufende Nummer" immer mit 1 beginnen und hochzählen. Das Feld soll auf eine feste Länge 10 mit führenden Nullen aufgefüllt werden. Wie kann ich das elegant lösen.

Bisher habe ich den Wert beim Einlesen in VBA gleich mit hochgezählt und das Feld über eine eigene Funktion aufgefüllt bzw. das Feld in der Tabelle gelöscht und auch mit ALTER Table als Counter neu angelegt und dann aufgefüllt.

Ich finde das aber etwas umständlich.

Vielen Dank!

gruss

Micha

A.S.
21.03.2003, 06:09
Hallo Michae,

wenn ich Dich recht verstehe, löschst Du die Inhalte der Tabelle jedesmal wenn Du den Import der Daten neu durchführst und hast Dich deswegen gegen einen Autowert entschieden.

Lege die Tabelle mit Autowert als entsprechendes Zählerfeld an und speichere diese unter dem Namen "tblDeinName_Grundversion". Innerhalb des Codings löschst Du dann zunächst die Tabelle in welche Du den Import durchführst

DoCmd.DeleteObject acTable, "tblDeinName"

und kopierst anschließend die Grundversion der Tabelle wieder auf den benötigten Namen

DoCmd.CopyObject , "tblDeinName" ,acTable, "tblDeinName_Grundversion"

Als Format des Autowertzählers trägst Du im Entwurf der Grundversion

0000000000

ein und erhälst die 10stellige Anzeige.

Gruß

Arno

bassmju
22.03.2003, 08:46
Danke Arno,

die Idee ist gut und das mit dem Format finde ich klasse. Kann man das auch im Code (Create/Alter Table) eingeben. Ich muss mal überlegen, wie ich das mache, da ich mit der Tabelle mehrere Outputs mit dynamischer Struktur bediene. Das sollte aber genau so klappen, jetzt ist es nur noch etwas früh zum Nachdenken.

Kannst du das mit dem Format im Code evtl. noch mal aufschreiben?

Danke!

gruss Micha