Migration Access1997 auf Access2010 (2003)
wolf33
Gesendet: 07.01.12 17:36
Betreff: Migration Access1997 auf Access2010 (2003)


Member

Beiträge: 29
25
Ort: Baden / CH
Hallo und einen erfolgreichen Start 2012

Die Konvertierung 1997 > 2003 klappte an sich problemlos bis auf ein sehr zähes Poblem. Es betrifft ein relativ komplexes Berichtsmodul, in dem Daten aus unterschiedlichen Quellen angesprochen werden. Die Daten des Berichts sehen in SQL-Notation (kopiert!) wie folgt aus:

SELECT DISTINCT Personen.Zuname, Personen.Vorname, Anrede.Bezeichnung AS Adresse1, [Vorname] & " " & [Zuname] AS Adresse2, Personen.Strasse, Orte.PLZundOrtsname, Mitarbeiter.*, Saläre.*, Lohnarten.Lohnart
FROM Konstanten, (Funktionen INNER JOIN (Anrede INNER JOIN (Orte INNER JOIN Personen ON Orte.Orts_Nr = Personen.Orts_Nr) ON Anrede.Anrede_Nr = Personen.Anrede_Nr) ON Funktionen.Funktions_Nr = Personen.Funktions_Nr) INNER JOIN ((Lohnarten INNER JOIN Mitarbeiter ON Lohnarten.Lohnart_Nr = Mitarbeiter.Lohnart) INNER JOIN (DatumFile INNER JOIN Saläre ON DatumFile.GDatum = Saläre.GDatum) ON Mitarbeiter.Mit_Nr = Saläre.Mit_Nr) ON Personen.Pers_Nr = Mitarbeiter.Pers_Nr
ORDER BY Personen.Vorname, Mitarbeiter.Mit_Nr;

Die Berichts-Version 1997 verarbeitet den Daten-Select ohne Probleme, die konvertierte Version 2003 verlangt neu 3 Parameter, die aber bereits in der Tabelle "Konstanten" logisch und physisch existieren und ausserdem im VBA-Code der Anwendung als "PUBLIC" definiert sind, weil sie verschiedentlich benötigt werden. Gebe ich die verlangten 3 Konstanten als Parameter ein, habe ich das erwartete Ergebnis. Die betreffenden 3 Elemente werden im Bericht übrigens als Steuerelementinhalt-Ausdrücke verwendet: "=[AHVProz]/100" , "=[ALVProz]/100" und "=[NBUProz]/100"

Der Versuch, die 3 Elemente explicit im Select zu spezifizieren,

SELECT DISTINCT Personen.Zuname, Personen.Vorname, Anrede.Bezeichnung AS Adresse1, [Vorname] & " " & [Zuname] AS Adresse2, Personen.Strasse, Orte.PLZundOrtsname, Mitarbeiter.*, Saläre.*, Lohnarten.Lohnart, Konstanten.AHVProz, Konstanten.ALVProz, Konstanten.NBUProz
FROM Konstanten, (Funktionen INNER JOIN (Anrede INNER JOIN (Orte INNER JOIN Personen ON Orte.Orts_Nr = Personen.Orts_Nr) ON Anrede.Anrede_Nr = Personen.Anrede_Nr) ON Funktionen.Funktions_Nr = Personen.Funktions_Nr) INNER JOIN ((Lohnarten INNER JOIN Mitarbeiter ON Lohnarten.Lohnart_Nr = Mitarbeiter.Lohnart) INNER JOIN (DatumFile INNER JOIN Saläre ON DatumFile.GDatum = Saläre.GDatum) ON Mitarbeiter.Mit_Nr = Saläre.Mit_Nr) ON Personen.Pers_Nr = Mitarbeiter.Pers_Nr
ORDER BY Personen.Vorname, Mitarbeiter.Mit_Nr;

führt zum Absturz bei dem alle im Bericht vorkommenden Steuerelementinhalt-Ausdrücke mit der Meldung "#Typ!" abgewiesen werden. Die Select-Abfrage allein ausgeführt, erzeugt jedoch die korrekten Daten! Warum können Access2010 Berichte nicht mehr das, was sie vor einem Dezenium noch konnten und wie kann ich wieder zu einem Resultat kommen? Hat Jemand eine Idee?

Wolfgang
Top of the page Bottom of the page