Topic
Zugriff auf eine Datenmatrix über die Range Methode
Startseite ' Community ' Automation and VBA ' Zugriff auf eine Datenmatrix über die Range Methode
- Dieses Thema hat 2 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 18 Jahren, 6 Monaten von Norbert Ramm aktualisiert.
-
AutorBeiträge
-
27.10.2006 um 20:46 Uhr #34953Norbert RammTeilnehmer
Hallo,
wie ist es möglich, in eine Kanal der eine Matrixstruktur hat über die Range Anweisung
einen Abschnitt einer beliebigen Spalte mit
dem Inhalt eines Arrays zu füllen ?Auf einzelne Werte in der Matrix kann wie im
Beispiel zugegriffen werden.Option Explicit
Public Kanal As DataSetSub Test()
Dim Wert(3) As Double
Wert(0) = 11
Wert(1) = 22
Wert(2) = 33
Wert(3) = 44If Kanal Is Nothing Then
Set Kanal = ActiveDatabase.ActiveFolder.Add(“Matrix”, fpObjectTypeDataSet, fpNameClashHandlingOverwrite)
Kanal.DataStructure = fpDataStructureDataMatrix
Kanal.DataType(fpDataComponentX) = fpDataTypeFloat32
Kanal.DataType(fpDataComponentY) = fpDataTypeFloat32
Kanal.DataType(fpDataComponentAll) = fpDataTypeFloat32
Kanal.NumberOfColumns = 4
Kanal.NumberOfRows = 9
Kanal.FillColumns “(NumberOfValues(i), FloatingPoint32 0, FloatingPoint32 0)”, fpDataComponentAll
Kanal.UpdateEnd If
Kanal.Value(fpDataComponentY, 1, 4) = 40 ‘ i.O.
Kanal.Range(fpDataComponentY, 1, 1, 1, 4) = Wert ‘ Fehler, Objekt unterstützt Methode nicht
End Sub
Hat jemand eine Idee was ich hier falsch mache ?
27.10.2006 um 20:46 Uhr #34955Norbert RammTeilnehmerHallo,
wie ist es möglich, in eine Kanal der eine Matrixstruktur hat über die Range Anweisung
einen Abschnitt einer beliebigen Spalte mit
dem Inhalt eines Arrays zu füllen ?Auf einzelne Werte in der Matrix kann wie im
Beispiel zugegriffen werden.Option Explicit
Public Kanal As DataSetSub Test()
Dim Wert(3) As Double
Wert(0) = 11
Wert(1) = 22
Wert(2) = 33
Wert(3) = 44If Kanal Is Nothing Then
Set Kanal = ActiveDatabase.ActiveFolder.Add(“Matrix”, fpObjectTypeDataSet, fpNameClashHandlingOverwrite)
Kanal.DataStructure = fpDataStructureDataMatrix
Kanal.DataType(fpDataComponentX) = fpDataTypeFloat32
Kanal.DataType(fpDataComponentY) = fpDataTypeFloat32
Kanal.DataType(fpDataComponentAll) = fpDataTypeFloat32
Kanal.NumberOfColumns = 4
Kanal.NumberOfRows = 9
Kanal.FillColumns “(NumberOfValues(i), FloatingPoint32 0, FloatingPoint32 0)”, fpDataComponentAll
Kanal.UpdateEnd If
Kanal.Value(fpDataComponentY, 1, 4) = 40 ‘ i.O.
Kanal.Range(fpDataComponentY, 1, 1, 1, 4) = Wert ‘ Fehler, Objekt unterstützt Methode nicht
End Sub
Hat jemand eine Idee was ich hier falsch mache ?
27.10.2006 um 21:26 Uhr #34954Bernhard KantzTeilnehmerYour example only works if you want to fill a data series. Create a two-dimensional array to fill a data matrix.
Example:
[code]
Dim oValue(0, 3) As Single
oValue(0, 0) = 11
oValue(0, 1) = 22
oValue(0, 2) = 33
oValue(0, 3) = 44…
oDataset.Range(fpDataComponentY, 1, 1, 1, 4).Value = oValue
[/code] -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.