PDA

Vollständige Version anzeigen : neue Tabelle erzeugen aus Arrays


bodo40
25.09.2003, 17:13
hi

wie mache ich denn das?

da gibt es eine

Sub xyz(ArrayWerte, DsCount, FieldsCount, ArrayFeldNamen)

in der Sub will ich eine neue Tabelle erzeugen die wie folgt aufgebaut sein soll.

ArrayFeldNamen liefert mir die FeldNamen

Frage eins:
Den FeldTyp weiss ich noch nicht zu bestimmen (ArrayWerte ist ein zweidimensionales Array(m,n), wobei m den Datensatz bestimmt und n den wert des zu füllenden Feldes. Kann man den Typ aus den werten (Array(m, n) )ermitteln?

(eigentlich brauche ich DsCount und FieldsCount nicht zu übergeben, das müste auch mit UBound() zu ermitteln sein, genau)

oder hat wer ne gute idee wie ich aus den beiden Array leicht eine tabelle schaffen kann?

danke für rat

bodo40

Nouba
25.09.2003, 17:23
Hallo Bodo,

vielleicht kannst Du uns mehr Hintergrundwissen (Kode, Tabellenszenario, Arbeitsfluß, etc. ???) zukommen lassen. Was ist der Zweck des Vorhabens, wie kommen denn die Daten in das Array überhaupt rein? Den Arraynamen könnte man notfalls den Feldtyp mitteilen.

bodo40
25.09.2003, 17:50
jou, das ist so

mit hilfe der outlook10 lib lese ich gezielt felder aus einem outlook-folder aus.

Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.Folders(fpA).Folders(fpB).Folders(fpC).Folders(fpD)
Set myNewFolder = myFolder.Folders(fpE)

iCount = myNewFolder.Items.Count
kCount = UBound(FeldNamenArray) + 1 'UBound gibt den größten Index wieder; Array starten bei 0
ReDim myArray(iCount, kCount)
For i = 1 To iCount 'die i-Schleife schleift die Datensätze also die Items(i)
For k = 1 - 1 To kCount - 1 'die k-Schleife schleift die Felder also die UserProperties(k)
On Error Resume Next


myArray(i - 1, k) = myNewFolder.Items(i).UserProperties(FeldNamenArray(k)).Value


Next k
Next i

egal wie später einmal FeldNamenArray gefüllt wird, es werden immer die werte geholt die im array benannt wurden.

und genau so flexibel will ich auch bleiben beim erstellen der Tabelle. immer wenn die tabelle erzeugt werden soll ist nur FeldNamenArray massgebend.

in einem buch habe ich gesehen dass mit ADOX dem Table-Objekt auch spalten hinzugefügt werden können. das gafällt mir. aber für altanative vorschläge bin ich dankbar.

ich brauche die tabelle um daraus anlagen für schreiben zu erzeugen.

bodo40