PDA

View Full Version : AS400-Systemname geändert Excel ändern?



holly
05-03-07, 13:06
Hallo all,
ich habe von meiner iSeries den Systemnamen geändert.
Jetzt steht dummerweise in allen Excel-Tabellen mit Datenquelle ISeries noch der alte systemname drin. Wie kann ich den Systemnamen in der Exceltabelle ändern obwohl das alte System nicht mehr da ist, ohne die SQL-Anweisung wegzuschmeissen und neu anzuhängen.:confused:

Gruss Holger

KingofKning
05-03-07, 13:12
Hallo,
ich würde ja es mal mit einem Eintrag in der Host Tabelle versuchen. weil mehr als eine Namensauflösung passiert ja nicht

Fuerchau
05-03-07, 13:16
Ggf. per Excel-VBA.
Alle SQL's stehen in der Mappe in der Aufzählung QueryTables als QueryTable-Objekt.
Im QueryTable.Commandtext steht der SQL, den du dann nur ändern brauchst.

Für Pivot in PivotCaches im PivotCache-Objekt und dort auch im Commandtext.

Fuerchau
05-03-07, 13:23
@KingofKning
Mit einer Hosttabelle löst sich das Problem nicht.

Microsoft baut den Namen mit "RDBNAME.COLLECTION.TABLE" wobei der RDBNAME auf der AS/400 unter WRKRDBDIRE eingetragen sein muss.
Passt der Name nicht, stirbt der SQL.

Für *LOCAL ist jedoch nur 1 Name zulässig, so dass man nicht mit Alias arbeiten kann.

Hier ist leider der SQL anzupassen.

holly
06-03-07, 07:20
Hallo,
Danke an alle fleissigen "Antworter".
Werde wohl ein VBA einbauen um den DSN zu ändern:
Worksheets(1).QueryTables(1) _
.Connection:="ODBC;DSN=neuerDSNdata;UID=Username;PWD=geheim;"

Gruss Holger

Fuerchau
06-03-07, 11:02
Das Ändern geht übrigens am einfachsten per
xxx.Connection = replace(xxx.connection,"OldDsn","NewDsn")