PDA

Vollständige Version anzeigen : Import von AS/400-Dateien hier: Feldbeschreibung


sms_mitschs
06.02.2003, 12:12
Wer schonmal Dateien von einem AS/400 (iSeries)-System importiert hat, wird sich auch schonmal, wie ich, darüber geärgert haben, dass die Feldbeschreibungen vom AS/400-System nicht mit importiert werden. Aber es gibt Abhilfe :D :
Durch die wirklich fundierte Hilfe dieses Forums (Danke, Danke!!) ist es mir gelungen, diese kleine Funktion zu schreiben, die das Problem löst.

Sollten Fragen hierzu bestehen, dann bitte im Hauptforum stellen.

P.S.
Das ganze taugt jedoch nur wirklich etwas für Leute, die mit dem System AS/400 arbeiten.

Gruß aus Hessen
Sven (alias sms_mitschs)



<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"> <pre><span class="TOKEN">Option</span> <span class="TOKEN">Compare</span> <span class="TOKEN">Database</span>
<span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
&nbsp;
<span class="TOKEN">Public Function</span> FeldCaption()
&nbsp;
<span class="TOKEN">Dim</span> db <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> pr <span class="TOKEN">As</span> <span class="TOKEN">Property</span>
<span class="TOKEN">Dim</span> rcdDspffd <span class="TOKEN">As</span> Recordset
<span class="TOKEN">Dim</span> strLib <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> strFile <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> strField <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> strCaption <span class="TOKEN">As</span> <span class="TOKEN">String</span>
&nbsp;
<span class="TOKEN">Set</span> db = CurrentDb()
<span class="TOKEN">Set</span> rcdDspffd = db.OpenRecordset(&quot;&lt;Bibliothek&gt;_&lt;Ausgabedatei DSPFFD&gt;&quot;, dbOpenTable)
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> tdf <span class="TOKEN">In</span> db.TableDefs
<span class="TOKEN">If</span> tdf.Name &lt;&gt; &quot;&lt;Bibliothek&gt;_&lt;Ausgabedatei DSPFFD&gt;&quot; <span class="TOKEN">And</span> Mid(tdf.Name, 1, 4) &lt;&gt; &quot;MSys&quot; <span class="TOKEN">Then</span>
<span class="TOKEN">For</span> <span class="TOKEN">Each</span> fld <span class="TOKEN">In</span> tdf.Fields
<span class="TOKEN">With</span> rcdDspffd
strLib = Mid(tdf.Name, 1, InStr(1, tdf.Name, &quot;_&quot;, vbBinaryCompare) - 1)
strFile = Mid(tdf.Name, InStr(1, tdf.Name, &quot;_&quot;, vbBinaryCompare) + 1, Len(tdf.Name))
strField = fld.Name
.Index = &quot;keyLibFileField&quot;
.Seek &quot;=&quot;, strLib, strFile, strField
<span class="TOKEN">If</span> <span class="TOKEN">Not</span> .NoMatch <span class="TOKEN">Then</span>
strCaption = .Fields(&quot;WHFTXT&quot; )
<span class="TOKEN">Set</span> pr = fld.CreateProperty(&quot;Caption&quot;, dbText, strCaption)
fld.Properties.Append pr
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
<span class="TOKEN">Next</span> fld
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span> tdf
&nbsp;
<span class="TOKEN">Set</span> rcdDspffd = <span class="TOKEN">Nothing</span>
<span class="TOKEN">Set</span> db = <span class="TOKEN">Nothing</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Function</span></pre></div>