Office: (Office 2010) Array leer initialisieren

Helfe beim Thema Array leer initialisieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Habe ich eigentlich in VBA die Möglichkeit, ein Array leer zu initialisieren, so dass ich bspw. in einer For Schleife als Startpunkt... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Kossy, 31. Dezember 2011.

  1. Array leer initialisieren


    Hallo zusammen!

    Habe ich eigentlich in VBA die Möglichkeit, ein Array leer zu initialisieren, so dass ich bspw. in einer For Schleife als Startpunkt und Maximallaufpunkt die Funktionen LBound() und UBound() benutzen kann?

    Also so, dass hier LBound und UBound im Zweifel 0 liefern, falls noch gar nichts im Array enthalten ist:

    Code:
    Grüße
    Kossy

    :)
     
  2. Hallo,
    ganz schön viele Beiträge zu Array und meistens ohne Antwort von Dir.

    Außerdem würde ich noch behaupten, wer in einer DB Arrays braucht, hat meistens ein falsches Datenmodell.
     
    gpswanderer, 1. Januar 2012
    #2
  3. Naja also wenn ich zu dem Themen nichts mehr schriebe, dann ist das Problem auch i.d.R. gelöst.

    ich geb den Leute allerdings recht, dass man dann nochmal ein Erleidgt Haken setzt und kurz ein Danke schön postet.

    Ich werde das zukünftig machen.
     
  4. Array leer initialisieren

    Hallo
    hier findest Du evtl. was
    siehe am schluss "Leere Array erstellen"
    so einfach *wink.gif*

    Ich erwarte dieses mal eine reaktion *wink.gif* SCNR
    auch wenn es nur ist "Nicht was ich will"

    Code:
    RESULTAT:
    ?TestARR()
    • AVarT ist eine Array
    Original Array AVarT(1,2,3,4,5)
    • Element 3 am Anfang = 4 / Felder 0 - 4
    Korrigierte Array AVarT(1,2,4,5)
    • Element 3 ist am Ende = 5 / Felder 0 - 3
    nach Erase AVarT
    • Element 0 ist = / Felder 0 - 0
    Leere Array erstellen AVarTn
    • Element 0 ist = / Felder 0 - 0
     
    Lanz Rudolf, 1. Januar 2012
    #4
  5. Wenn ein Array deklariert wird (Dim-Anweisung), ist es generell leer, wobei "leer" vom Datentyp des Arrays abhängig ist (wie bei anderen Variablen auch).

    Das zeugt aber auch davon, dass Du die Zeit, die andere für Dich aufwenden, und damit auch die Menschen, die das tun, nicht achtest. Die Umkehrung dessen kann Dir ganz schnell auf die Füße fallen.
     
  6. einfachste Möglichkeit ein Try/Catch mittels der Fehlerbehandlung von VB, durch abfangen der Fehlernummer 9. Ist zwar nicht schön weil mehrdeutig, ansonsten andere Möglichkeit mittels Api-funktionen.
     
    daolix, 2. Januar 2012
    #6
  7. Hallo
    Das aus meinem Beispiel
    AVarTn = Array("")

    gibt doch das ?
    einne Array mit Nichts und LBound und UBound = 0

    oder verstehe ich da was Falsch ?
     
    Lanz Rudolf, 2. Januar 2012
    #7
  8. Array leer initialisieren

    Ich hab jetzt die Frage von Kossy so interptretiert das er ein nicht dimensioniertes Array mit L- & Ubound abfragen will, was zu einer Fehlermeldung führt.

    mit deinem AVarTn = Array("") erstellst du ein Array was einen datensatz aufnehmen kann, und entspricht in etwa einem Dim f(0) as WasWeisIch, sprich das Array ist Dimensioniert
     
    daolix, 2. Januar 2012
    #8
  9. Wenn man weiß, womit man es zu tun hat und was man macht, entfallen Zweifel und auch Versuche, zu ermitteln, was man gerade vorliegen hat.
    LBound ist der niedrigste Index einer Dimension eines Arrays, egal ob man einen Wert eingetragen hat oder nicht. UBound ist entsprechend der höchste Index. Beide Werte werden durch die Deklaration des Array festgelegt (dynamische Arrays sind ein wenig anders, aber nicht so wie scheinbar gewünscht).

    Wenn beide 0 sein sollen, muss das Array genau so deklariert werden:
    Code:
    Dieses eindimenionale Array ist übrigens nichts anderes als eine ganz normale Variable (hier Long), und "leer" stellt sich hier als 0 dar, da der Datentyp auf Long eingestellt ist.

    @Ruedi: Ein Nullstring ("") ist kein Nichts (Null), sondern ein Element.
    Zusammenhänge und Umgang mit Null kannst Du u.a. in einem vielbeworbenen Dokument nachlesen, wo der Name des Verfassers Deinem recht ähnlich ist.

    Was ist das?

    Wenn Du ein dynamisches Array meinst: Das entsteht nicht von selbst, und von außen kann man so etwas wohl kaum übergeben bekommen.
     
  10. Hallo
    @Eberhart
    im prinzipt hast Du recht
    mit dem was ich gezeigt habe ist
    LBound und UBound = 0 (was auch gewünscht wurde)
    und das Element 0 ist vorhanden (kann ich ansprechen mit) ""
    wenn ich mit Len die Länge ausgebe ist die 0 also ist es Nichts wie bei NULL *wink.gif*
    Len AVarTn(0)= 0
    ergänzend:
    Len AVarTn(0)=0
    AVarTn(0) ist leer ("""")
    AVarTn(0) ist NICHT NULL
    AVarTn(0) ist NICHT Empty


    das ganze ist natürlich anders wenn die Zahl 0 im Element 0 erwünst ist *Smilie

    @daolix
    auch richtig ist dass das, das gleiche giebt:
    Code:
    lerre Array AVarTnn(0) As Variant
    • Element 0 ist = / Felder 0 - 0
    Len AVarTnn(0)=0
    ergänzung:
    AVarTnv(0) ist Leer ""
    AVarTnn(0) ist Nicht NULL
    AVarTnn(0) ist Empty
     
    Lanz Rudolf, 2. Januar 2012
    #10
  11. Ich glaub schon.

    Nein, aber ich hab die Frage falsch interpretiert. Ich dachte an ein dim f() as WasWeisIch, was jetzt ein Array ist, welches für mich leer ist und was bei L-/Ubound zu einem Fehler führt. Das ein simples dim f(0) as WasWeisIch damit gemeit war hab ich völlig übersehen.
    Wenn leer=Empty bedeutet dann erzeugt ein AVarTn = Array(Empty) eher ein leeres Array glaub ich, dein AVarTn = Array("") erstellt im Element 0 einen vbString
     
  12. Bei allen Darstellungen sollte man nicht vergessen, dass ein Array
    - nicht zwingend eindimensional ist, sondern bis zu 60 Dimensionen haben kann,
    - nicht zwingend dynamisch sein muss. Statische Arrays kommen mindestens genau so oft vor.
    Entsprechend sollte man dann auch nicht so tun.

    Bei einem dynamischen Array kann man per ReDim die Indizes auf 0 stellen, dazu muss man nicht vorher prüfen:
    Code:
    Abgesehen von den Dimensionen wird es da aber eng, das Array per For-Schleife zu füllen.

    Ein statisches Array ist so, wie es deklariert ist. Ein ReDim wird da scheitern.
    Code:
     
  13. Array leer initialisieren

    Dem wiederspreche ich jetzt nicht.
    Auch das ist richtig aber zu meiner Verteidigung ( und bevor du vollendenst auf mich einprügelst ) sei gesagt das die Antworten #2 und #3, ohne das ich die entsprechenden Threads dazu gelesen hab, mich verleitet haben das der Threadstarter gewisse Kenntnisse bezüglich Arrays durch dieses Forum erlangt hat, und ein simples dim (0) mir jetzt irgendwie zu profan und nicht wirklich nachgefragt erschien.
     
Thema:

Array leer initialisieren

Die Seite wird geladen...
  1. Array leer initialisieren - Similar Threads - Array initialisieren

  2. Mittelwert aus mehreren Spalten als dynamisches Array

    in Microsoft Excel Hilfe
    Mittelwert aus mehreren Spalten als dynamisches Array: Hallo liebes Forum, ich bin bei folgendem Problem ratlos: Ich berechne für verschiedene Dozenten Feedback anhand von 3 verschiedenen Kriterien. Die Stammdaten der Feedbacks stehen in einer...
  3. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  4. Zahlendubletten im Array

    in Microsoft Excel Hilfe
    Zahlendubletten im Array: Guten Morgen liebe Community, anbei ein vereinfachtes Beispiel der Problematik, da das Original mehrere LAMBDA-Funktionen und Tabellen mit einbezieht. Ich benötige die Lösung, um eine weitere...
  5. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  6. Summenteilergebnis eines Arrays als Array darstellen

    in Microsoft Excel Hilfe
    Summenteilergebnis eines Arrays als Array darstellen: Hallo Community, Summenteilergebnis eines Arrays als Array darstellen. An dieser Stelle stecke ich fest. Ich habe eine Testmappe erstellt, die die Problematik versucht darzustellen. Bevor jemand...
  7. Formel bei Veränderung von dynamischem Array "mitziehen"?

    in Microsoft Excel Hilfe
    Formel bei Veränderung von dynamischem Array "mitziehen"?: Hallo liebes Forum, ich komme bei folgendem Problem nicht weiter und habe mir hier etwas Hilfe erhofft: Ich habe eine Tabelle mit Feedbacks zu Lehrgängen/Kursen. Diese will ich nach Dozent erst...
  8. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden