Step 7 Daten aus DB in einen anderen DB kopieren

roadjet

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo , würde mal eure Hilfe benötigen.
Hab so mein Problem mit einer Aufgabenstellung.

Es geht darum bestimmte Wert aus einem DB in einen anderen DB zu kopieren.
Das kopieren eines ganzen stellt kein Problem dar.

Der DB besteht aus 2 array.
Im ersten array gebe ich an wie viele Felder es gibt, im zweiten wiel viele Positionen das Feld hat.

Das ganze sieht dann in etwa so aus.

DBx

dbw0\\ FELD 1
dbw4\\pos1
dbw8\\poswert1
dbw10\\pos2
dbw12\\poswert2
dbw14\\.
dbwx\\.
dbwx\\.
dbw30\\FELD 2
dbw34\\pos1
dbw38\\poswert1
dbw42\\pos2
dbw46\\poswert2
dbwx\\.
dbwx\\.
dbwx\\.

Die Aufgabe besteht nun darin jeweils nur die poswerte in einen anderen DB zu kopieren.
Momentan kopiere ich den ganzen DB und sortiere dann, um die poswerte in einen bestimmten DB-Bereich (DBx.DBW10 bis DBx.DBW100 zu bekommen und nutzen zu können.

Gibt es eine Möglichkeit eben nur die poswerte zu kopieren, und die restlichen nicht benötigten Daten einfach weg zu lassen??
Im Quell-DB habe ich im Moment 10 Felder mit je 10 Positionen die die Positionsnummer und den Positionswert beinhalten. Je als DINT.

Wäre für eure Hilfe sehr dankbar. :confused::confused::confused::confused::confused::confused:
Steh voll auf der Leitung

Danke im Voraus
 
Gibt es eine Möglichkeit eben nur die poswerte zu kopieren, und die restlichen nicht benötigten Daten einfach weg zu lassen??
Ja, gibt es. Sogar mehrere. ;)
--> Jeden Wert einzeln kopieren oder eine Schleife und indirekte oder indizierte Adressierung benutzen.

Etwa sowas:
Code:
  "Anderer_DB".poswert[1] := "Quell_DB".FELD1.poswert[1] ;
  "Anderer_DB".poswert[2] := "Quell_DB".FELD1.poswert[2] ;
...
  "Anderer_DB".poswert[10] := "Quell_DB".FELD1.poswert[10] ;
oder sowas:
Code:
FOR i := 1 TO 10 DO
  "Anderer_DB".poswert[i] := "Quell_DB".FELD[1].poswert[i] ;
END_FOR


Der DB besteht aus 2 array.
Im ersten array gebe ich an wie viele Felder es gibt, im zweiten wiel viele Positionen das Feld hat.
[...]
Im Quell-DB habe ich im Moment 10 Felder mit je 10 Positionen die die Positionsnummer und den Positionswert beinhalten. Je als DINT.
Wie ist denn die tatsächliche Deklaration Deiner DBs? DINT passt nicht zu DBWx.
Und die zwei Arrays sind nacheinander oder ineinander?
Wieviele Werte willst Du denn kopieren? Alle 100 oder jeweils nur die 10 Positionen von nur einem Feld?
Die Arraygrößen sollen variabel oder fest sein?

Welche Programmiersprache soll es denn sein?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo harlad.

Danke für die schnelle Antwort.
Die zwei array sind ineinander. Also im ersten die anzahl der felder. Und im zweiten darin befindlichen das array das die pos mit den poswerten angibt.

Programmsprachlich möchte ich das ganze in einen fc oder fb verpacken is eigentlich egal (awl oder scl quelle auch egal)

Der max wert sag ich mal liegt bei 10 feldern mit 10 Positionen, kann aber je nach Anlage weniger sein. Also 100 werte wäre max ausbau.

Das mit dem dbw is ein fehler von mir. Es handelt sich um dint werte eines fahrwerkes. Sag mal 1000mm bis max 999999mm.

Es kann also auch leicht mal der Fall sein das ich nur 4 fedler mit 5 Positionen auch habe.

Habe nur so meine liebe müh und not mit den zeigern und pointern.

DB_Aufbau.jpgDB_Daten.jpg



Lg

Roadjet
 
Zuletzt bearbeitet:
Zurück
Oben