MS-Office-Forum


Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Office - Allgemein
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 28.07.2010, 14:08   #1
Tiberius
MOF User
MOF User
Standard Frage - Werte der Felder sind verwirrend

Hallo,

zunächst muß ich sagen, dass ich das Problem nicht in Office habe sondern einem anderen Programm was aber denke ich keinen unterschied machen dürfte.

Ich habe ein größeres Programm welches Werkzeuge aus einer Frässimulation ausliest. Das Programm ist vollkommen in VBA programmiert, da ich darüber die Daten aus der Simulation auslesen kann.

Der gezeigte Codeschnipsel befindet sich in einer Schleife.

Code:

Redim AssFeld(WzZhl,2)
AssFeld(WzZhl,1) = HalWrt
AssFeld(WzZhl,2) = bName
msgbox WzZhl & " * " & AssFeld(WzZhl,2) & " * " & AssFeld(WzZhl,1)
msgbox AssFeld(1,2) & " * " & AssFeld(1,1)
WzZhl = WzZhl + 1
Die zwei Zeilen in der eine msgbox angezeigt wird habe ich nur zur Kontrolle eingefügt wo auch das Problem liegt.

Das Programm durchläuft die Schleife richtig und zeigt mir die Inhalte des Feldes AssFeld in der ersten Zeile richtig. In der zweiten Zeile habe ich einfach die erste Variable weggelassen und die Variable im Feld durch eine Zahl ersetzt. Man sollte jetzt meinen dass in der zweiten Zeile immer der Wert des ersten Feldes angezeigt wird - doch falsch gedacht.

Beispiel:
(ist)
1 * wza * 456
wza * 45607
2 * wzb * 830

3 * wzc * 294

4 * wzd * 185

(soll)
1 * wza * 456
wza * 456
2 * wzb * 830
wza * 456
3 * wzc * 294
wza * 456
4 * wzd * 185
wza * 456


Woran kann das liegen?


Gruß

Tiberius

Geändert von Tiberius (28.07.2010 um 14:11 Uhr).
Tiberius ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.07.2010, 08:06   #2
IngGi
MOF Meister
MOF Meister
Standard

Hallo Tiberius,

durch die Anweisung
Code:

Redim AssFeld(WzZhl,2)
wird das Datenfeld AssFeld nicht nur neu dimensioniert, sondern dabei auch zurückgesetzt, d.h. die Inhalte werden gelöscht. Das Zurücksetzen des Datenfeldes kannst du mit dem Schlüsselwort Preserve verhindern:
Code:

Redim Preserve AssFeld(WzZhl,2)
Allerdings kann dann bei mehrdimensionalen Datenfeldern immer nur die hinterste Dimension neu dimensioniert werden. Du musst die Dimensionen deines Datenfeldes daher andersherum anordnen. Die über die Variable WzZhl angesprochene Dimension muss zwingend die hintere sein.

Gruß Ingolf
IngGi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Home - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.