Supportnet / Forum / Datenbanken
Variablen im Datenfeld Array
Frage
Hi,
benutze in einem Array Variablen. Klappert ganz prima. Nur die Ausgabe des Variablennamens nicht.
Beispiel:
Dim MeinArray(1,1 to 3)
MeinArray(1) = a
MeinArray(2) = b
MeinArray(3) = c
a = 1
b = 2
C = 3
---
MeinArray(2) ergibt 2
"MeinArray(2)" ergibt MeinArray(2)
Was aber ergibt b ?
Antwort 1 von testfix4711
Da werd ich nicht so ganz schlau draus.
Möchtest Du jetzt den Buchstaben "B" ausgeben oder den Inhalt der Variablen b?
Zuerst solltest Du mal alle Variablen sauber definieren, sonst werden alle als Typ Variant angelegt. Soll jetzt tatsächlich "B" ausgegeben werden, so sollte es heißen MeinArray(2)="b"; dann klappts auch mit dem Nachbarn! Wenn Du "b" den Wert "2" zuweist kann auch nur "2" rauskommen.
Möchtest Du jetzt den Buchstaben "B" ausgeben oder den Inhalt der Variablen b?
Zuerst solltest Du mal alle Variablen sauber definieren, sonst werden alle als Typ Variant angelegt. Soll jetzt tatsächlich "B" ausgegeben werden, so sollte es heißen MeinArray(2)="b"; dann klappts auch mit dem Nachbarn! Wenn Du "b" den Wert "2" zuweist kann auch nur "2" rauskommen.
Antwort 2 von Coolpix
hallo,
da stimmt was mit der Array-Deklaration nicht.
Probier's mal so:
Im Prinzip kannst du dir einen Array wie ne Tabelle vorstellen wobei du in der Deklaration die Zeilenanzahl (1 to n) und die Spaltenanzahl durch das " , " zwischen den (1 to n) Anweisungen festlegst).
Das mußt du auch beim Schreiben in den Array berücksichtigen.
z.B.
wenn du den Array folgendermaßen deklarierst:
kannst du so reinschreiben:
will meinen zum Reinschreiben und Auslesen mußt du immer die vollständige Koordinate angeben wo du drauf zugreifen willst.
ich hoffe ich habe mich nicht zu kompliziert ausgedrückt :)
Feedback fänd ich Klasse !!!
Greetings ;-)
da stimmt was mit der Array-Deklaration nicht.
Probier's mal so:
Dim MeinArray(1 to 3)
Dim a , b, c
a = 1
b = 2
C = 3
MeinArray(1) = a
MeinArray(2) = b
MeinArray(3) = c
Im Prinzip kannst du dir einen Array wie ne Tabelle vorstellen wobei du in der Deklaration die Zeilenanzahl (1 to n) und die Spaltenanzahl durch das " , " zwischen den (1 to n) Anweisungen festlegst).
Das mußt du auch beim Schreiben in den Array berücksichtigen.
z.B.
wenn du den Array folgendermaßen deklarierst:
Dim MeinArray(1 to 3, 1 to 3)
kannst du so reinschreiben:
MeinArray(1,1) = x
MeinArray(1,2) = x
MeinArray(1,3) = x
MeinArray(2,1) = x
MeinArray(2,2) = x
MeinArray(2,3) = x
MeinArray(3,1) = x
MeinArray(3,2) = x
MeinArray(3,3) = x
will meinen zum Reinschreiben und Auslesen mußt du immer die vollständige Koordinate angeben wo du drauf zugreifen willst.
ich hoffe ich habe mich nicht zu kompliziert ausgedrückt :)
Feedback fänd ich Klasse !!!
Greetings ;-)
Antwort 3 von Volldepp
an N. Coolpix: ja, Danke. Es ist sehr verständlich und ich habe mich leider vertippert.
natürlich heisst es
>Dim MeinArray(1 to 3)
an testfix4711: ja, tatsächlich möchte ich "b" haben.
Ich hole mal weiter aus:
"meinArray(2)" gibt natürlich meinArray(2) raus.
Die Var sind alle deffiniert.
>Dim a, b as integer etc.
In dem Array stehen Variablen, die in dieser Sub Werte besitzen.
also: ich kann auf die 2 zugreifen, aber nicht auf den VarNamen. meinArray(i) gibt den Wert raus - "... und das ist auch gut so! " (auch wenn nicht schwuhul :-) (Zitat; U remember?)
Ich möchte mit irgendeinem Operator halt den VarNamen: z.B.
fiktiv> @#¦meinArray(2)öé:~)) soll b rausgeben.
Lasst mich zur Anregung noch weiter ausholen:
Es war einmal ein Formular, das hatte Felder a, b und c. Da kam der wVwowlwlwdwewpwpw an und wähnte sich in dem Glauben er könne eine Abfrage über sein Formular gestalten. Warum auf diesem Weg? Nun, das bleibe hier im dunkeln und sei an anderer Stelle erzählt. Es möchten alle Felder abgefragt werden, und die mit Inhalt bekommen eine Ehrenposition: Ihr Name findet Erwähnung in einem SQL-Ausdruck. Um die Felder einfach und schnell abzugrasen, meinte V ein Datenfeld (Array) muss her, in dem stehen die Feldnamen (Variablen!).
Alles ging den gewünschten Gang. Nur der SQL-Ausdruck braucht ja auch den Feldnamen z.B "Nachname" und nicht "Müller". Welcher Code-Ritter entlockt dem meinArray(i) den Variablennamen.
Hat euch meine Erzählung gefallen?
Oder etwa gelangweilt?
Grüss V
natürlich heisst es
>Dim MeinArray(1 to 3)
an testfix4711: ja, tatsächlich möchte ich "b" haben.
Ich hole mal weiter aus:
"meinArray(2)" gibt natürlich meinArray(2) raus.
Die Var sind alle deffiniert.
>Dim a, b as integer etc.
In dem Array stehen Variablen, die in dieser Sub Werte besitzen.
also: ich kann auf die 2 zugreifen, aber nicht auf den VarNamen. meinArray(i) gibt den Wert raus - "... und das ist auch gut so! " (auch wenn nicht schwuhul :-) (Zitat; U remember?)
Ich möchte mit irgendeinem Operator halt den VarNamen: z.B.
fiktiv> @#¦meinArray(2)öé:~)) soll b rausgeben.
Lasst mich zur Anregung noch weiter ausholen:
Es war einmal ein Formular, das hatte Felder a, b und c. Da kam der wVwowlwlwdwewpwpw an und wähnte sich in dem Glauben er könne eine Abfrage über sein Formular gestalten. Warum auf diesem Weg? Nun, das bleibe hier im dunkeln und sei an anderer Stelle erzählt. Es möchten alle Felder abgefragt werden, und die mit Inhalt bekommen eine Ehrenposition: Ihr Name findet Erwähnung in einem SQL-Ausdruck. Um die Felder einfach und schnell abzugrasen, meinte V ein Datenfeld (Array) muss her, in dem stehen die Feldnamen (Variablen!).
Alles ging den gewünschten Gang. Nur der SQL-Ausdruck braucht ja auch den Feldnamen z.B "Nachname" und nicht "Müller". Welcher Code-Ritter entlockt dem meinArray(i) den Variablennamen.
Hat euch meine Erzählung gefallen?
Oder etwa gelangweilt?
Grüss V
Antwort 4 von El Bobbele
Angelockt von kurioser Mär,
Eilte ein bobblich Ritter daher,
Wisset, der wunderte sich sehr.
Die Lösung, nach der Ihr strebt,
erreicht Ihr nicht, solang Ihr lebt.
So hört auf mich und seit weise,
Eure Machwerk ist... nicht gut.
Nun eilet entlang, den Pfad der Tugend,
Wie ich's gemacht, in meiner Jugend.
Ich dimmte was, des Types Text,
Bedingungen folgten, schnell gehext.
Inspiziert wurd nun ein jedes Feld,
Hatte es denn Inhalt, der gefällt?
Aufregung dann, als ich was fand,
Das SQL-Buch ward schnell zur Hand.
Dort stand: "Was tun mit diesen Teilen?"
"Ein WHERE-Abschnitt musst daraus feilen!"
Schon bald wuchs der Variablen Länge,
damit auch des Filters Strenge.
Den schob ich in des Formulares Filter,
Dort steht er noch, denn dort gilt er.
Diesen Weg sollst Du nun bestreiten,
Ansonsten soll Dich der Teufel reiten.
Ritterlichen Gruss
El Bobbele :-)
Eilte ein bobblich Ritter daher,
Wisset, der wunderte sich sehr.
Die Lösung, nach der Ihr strebt,
erreicht Ihr nicht, solang Ihr lebt.
So hört auf mich und seit weise,
Eure Machwerk ist... nicht gut.
Nun eilet entlang, den Pfad der Tugend,
Wie ich's gemacht, in meiner Jugend.
Ich dimmte was, des Types Text,
Bedingungen folgten, schnell gehext.
Inspiziert wurd nun ein jedes Feld,
Hatte es denn Inhalt, der gefällt?
Aufregung dann, als ich was fand,
Das SQL-Buch ward schnell zur Hand.
Dort stand: "Was tun mit diesen Teilen?"
"Ein WHERE-Abschnitt musst daraus feilen!"
Schon bald wuchs der Variablen Länge,
damit auch des Filters Strenge.
Den schob ich in des Formulares Filter,
Dort steht er noch, denn dort gilt er.
Diesen Weg sollst Du nun bestreiten,
Ansonsten soll Dich der Teufel reiten.
Ritterlichen Gruss
El Bobbele :-)
Antwort 5 von Volldepp
Perfekt!
Dankeschön.
Das hat aber Schlaf gekostet.
Gruss V
Dankeschön.
Das hat aber Schlaf gekostet.
Gruss V

