Hi,
ich habe folgende Sub:
Sub Exp (strFieldNameArray() As String, strFieldTitleArray() As String)
'Ist strFieldNameArray ein Array?
If Not Isarray(strFieldNameArray) Then
Error 1002, "strFieldNameArray ist kein Array !"
End If
'Ist LBound = 0
If Lbound(strFieldNameArray) <> 0 Then
Error 1003, "LBound vom Array 'strFieldNameArray' ist nicht 0 !"
End If
'Check strFieldTitleArray
If (Not Isarray(strFieldTitleArray)) Or (Lbound(strFieldTitleArray) <> 0) Then
'XXXXX
End If
'usw.
Bei dem Teil "XXXXX" möchte ich in die String-Array-Variable "strFieldTitleArray" die Variable "strFieldNameArray" setzen.
Nur da geht das Gezeter los:
Z.B. ein
strFieldTitleArray = strFieldNameArray
Oder ein
Redim strFieldTitleArray(0)
strFieldTitleArray = Arrayappend(strFieldTitleArray, strFieldNameArray)
lässt sich nicht kompilieren, da "Illegal reference to array or list "strFieldTitleArray".
Würde ich in der Sub das strFieldTitleArray als Variant deklarieren, dann würde es imo gehen. Ich will aber hier, dass das ein String-Array ist.
Was will ich machen:
Wenn eine bestimmte Bedingung zutrifft, dann soll String-Array "strFieldTitleArray" = "strFieldNameArray"
Ich hoffe es gibt da eine einfache Lösung (ohne das Array komplett neu aufzubauen oder auf Variant switchen zu müssen).
Wo siehst Du einen Unterschied zwischen einem Variant vom Typ String und einem Array of Strings ? Warum nimmst Du nicht Variant ?
Was machst Du eigentlich mit dieser Abfrage:
If Lbound(strFieldNameArray) <> 0 Then
Error 1003, "LBound vom Array 'strFieldNameArray' ist nicht 0 !"
End If
By the way: Das von Dir angesprochene ArrayAppend arbeitet mit VARIANTS ...
Sag' mal genaueres ;)
Bernhard
Wenn man da 1 + 1 zusammenzählen würde, könnte man gleich wieder hergehen und Option Declare streichen und gleich mal alle Variablen als Variant durchlaufen lassen. :P
Uiii, da bin ich mir aber sicher, dass Du weisst, dass das hinten und vorne nicht stimmt und Du da Äpfel und Birnen vergleichst.
Option Declare hat mit den Datentypen nicht primär etwas zu tun:
%REM
Option Declare
%ENDREM
Dim MeineMeldung
MeineMelldung = "BlaBla"
MessageBox MeineMeldung
Woran liegt es jetzt, das die Massagekiste leer bleibt ?
Andererseits:
Function QuickSort (vOrigValues as Variant) as Variant
Damit kann ich ich jetzt ein String - oder ein Zahlen-Array sortieren lassen. Sträflich ?
Bernhard