PDA

Vollständige Version anzeigen : hinzufügung von ID bei txt-import


kox
02.10.2001, 13:16
hi, mal wieder der txt-import.

da kann ich, wenn ichs von hand mache, wahlweise eine spalte ID hinzufügen, selber einen primärschlüssel aussuchen, oder beides lassen.

wenn ich das aber automatisch, also per vba mache, gibt er mir keine spalte ID. was muß ich da in die befehlszeile (DoCmd.TransferText acImportFixed, "KA_BEST Importspezifikation", "Import", "C:\Eigene Dateien\chr\Ka_best.txt", False, "")
einfügen, damit ich eine autowert-spalte vorn dran habe?

kox

Phillip-Berlin
02.10.2001, 18:02
oh! kein neuer beitrag? .. hurra! da bekömmst du auch sofort eine antwort

folgendes erstellt dir per code ein feld ID welches vom typ autowert ist

du kopierst dir den code einfach in ein neues modul ... name egal

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Function</span> Autowert()
<span class="TOKEN">Dim</span> dbs <span class="TOKEN">As</span> <span class="TOKEN">Database</span>
<span class="TOKEN">Dim</span> tdf <span class="TOKEN">As</span> TableDef
<span class="TOKEN">Dim</span> Fld <span class="TOKEN">As</span> Field
<span class="TOKEN">Dim</span> Idx <span class="TOKEN">As</span> Index

<span class="TOKEN">Set</span> dbs = CurrentDb()
<span class="TOKEN">Set</span> tdf = dbs.TableDefs("Import")

<span class="TOKEN">Set</span> Fld = tdf.CreateField("ID", dbLong)
Fld.Attributes = dbAutoIncrField

tdf.Fields.Append Fld

<span class="TOKEN">Set</span> Idx = tdf.CreateIndex("PrimaryKey")
<span class="TOKEN">Set</span> Fld = Idx.CreateField("ID")
Idx.Primary = <span class="TOKEN">True</span>
Idx.Required = <span class="TOKEN">True</span>
Idx.Fields.Append Fld

tdf.Indexes.Append Idx

<span class="REM">'tdf.Close</span>
<span class="REM">'dbs.Close</span>

<span class="TOKEN">Set</span> tdf = <span class="TOKEN">Nothing</span>
<span class="TOKEN">Set</span> dbs = <span class="TOKEN">Nothing</span>

<span class="TOKEN">End</span> <span class="TOKEN">Function</span></pre></div>

dann trägst du nach deinem
DoCmd.TransferText acImportFixed, "KA_BEST Importspezifikation", "Import", "C:\Eigene Dateien\chr\Ka_best.txt", False, ""
einfach ein
Autowert
ein ... dann wird in deiner gerade erstellten tabelle ein feld ID vom typ autowert erstellt

HTH