Discussion:
Abfrage externe Daten aus Access mit Parameter
(zu alt für eine Antwort)
Frank Lauter
2008-07-09 22:01:59 UTC
Permalink
Hallo NG!

Ich habe ein Problem an der Grenze zu Access und hoffe, dass ich hier
trotzdem richtig bin.

Meine Daten liegen in einer Accessdatenbark und ich möchte diese in Excel
weiter auswerten. Dazu möchte ich sie als externe Daten einbinden. Bei
normalen Abfragen ist das auch kein Problem, aber ich habe jetzt eine
Abfrage in Access, die einen Parameter erfordert. Die Abfrage funktioniert
in Access problemlos.

Wie kann ich den Parameter von Excel aus übergeben?

Ich habe dazu schon eine Anleitung gefunden, die sich mit diesem Problem
auseinander setzt.
Kurz dargestellt wird dabei eine Abfrage ohne Parameter erstellt und die
Parameter in Query bei den Kriterien angelegt. Das einfache Beispiel
funktioniert auch. Mein Problem ist aber, dass ich den Parameter nicht als
Auswahlkriterium benötige, sondern als Konstante für eine Berechnung eines
Feldes.

Ich würde die Berechnung ja in Excel durchführen, aber das zu berechnende
Feld soll noch als Auswahlkriterium verwendet werden.

Wie lege ich jetzt dieses zu berechnende Feld an?
Wenn ich es in Access eingebe, kann ich die Abfrage nicht mehr in Query
öffnen und in Query finde ich keine Möglichkeit, ein weiteres berechnetes
Feld anzulegen.

Die Berechnung an sich ist ganz einfach; in Access z.B.
Ausdr1:[Kalenderjahr]-Jahr([Geburtsdatum])
wobei [Kalenderjahr] ein Parameter und [Geburtsdatum] ein Feld ist.
Über Kriterien frage ich dann z.B. die Jubilare ab mit dem Kriterium
In(50;70;75).

Ich hoffe, ich konnte mein Problem klar genug darstellen und ihr könnt mir
einen Tipp geben, wie ich den Parameter aus Excel in ein berechnetes Feld
bekomme.

Vielen Dank schon mal für eure Mühe und euren tollen Support in dieser NG.

Viele Grüße

Frank
Thomas Ramel
2008-07-10 05:09:45 UTC
Permalink
Grüezi Frank

Frank Lauter schrieb am 10.07.2008
Post by Frank Lauter
Meine Daten liegen in einer Accessdatenbark und ich möchte diese in Excel
weiter auswerten. Dazu möchte ich sie als externe Daten einbinden. Bei
normalen Abfragen ist das auch kein Problem, aber ich habe jetzt eine
Abfrage in Access, die einen Parameter erfordert. Die Abfrage funktioniert
in Access problemlos.
Wie kann ich den Parameter von Excel aus übergeben?
Ich habe dazu schon eine Anleitung gefunden, die sich mit diesem Problem
auseinander setzt.
Kurz dargestellt wird dabei eine Abfrage ohne Parameter erstellt und die
Parameter in Query bei den Kriterien angelegt. Das einfache Beispiel
funktioniert auch. Mein Problem ist aber, dass ich den Parameter nicht als
Auswahlkriterium benötige, sondern als Konstante für eine Berechnung eines
Feldes.
Ist das zufälligerweise der folgende KB-Artikel?

http://support.microsoft.com/?scid=kb%3Ben-us%3B211926&x=10&y=12
Post by Frank Lauter
Ich würde die Berechnung ja in Excel durchführen, aber das zu berechnende
Feld soll noch als Auswahlkriterium verwendet werden.
Wie lege ich jetzt dieses zu berechnende Feld an?
Wenn ich es in Access eingebe, kann ich die Abfrage nicht mehr in Query
öffnen und in Query finde ich keine Möglichkeit, ein weiteres berechnetes
Feld anzulegen.
Die Berechnung an sich ist ganz einfach; in Access z.B.
Ausdr1:[Kalenderjahr]-Jahr([Geburtsdatum])
wobei [Kalenderjahr] ein Parameter und [Geburtsdatum] ein Feld ist.
Ev. kannst Du die Access-DB umbauen?
Diese beiden Werte sollten/könnten ja direkt vorliegen und in einem
weiteren Feld dann abgelegt werden.
Post by Frank Lauter
Über Kriterien frage ich dann z.B. die Jubilare ab mit dem Kriterium
In(50;70;75).
Auf dieses solltest Du eigentlich ohne weiteres dann aus Excel heraus
zugreifen können.



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps
Frank Lauter
2008-07-10 16:39:41 UTC
Permalink
Hallo Thomas,

vielen Dank für deine Hilfe.
Post by Thomas Ramel
Ist das zufälligerweise der folgende KB-Artikel?
http://support.microsoft.com/?scid=kb%3Ben-us%3B211926&x=10&y=12
Nein, meine Quelle ist ein Excel-Newsletter gewesen, aus dem ich das
irgendwann mal gesammelt habe. Leider weiß ich nicht mehr, wer der Autor ist
und wo das veröffentlicht wurde. Ich habe nur noch eine Textdatei auf meinem
Rechner gefunden.
Prinzipiell ist das aber die gleiche Idee.
Post by Thomas Ramel
Ev. kannst Du die Access-DB umbauen?
Diese beiden Werte sollten/könnten ja direkt vorliegen und in einem
weiteren Feld dann abgelegt werden.
Ich kann die DB ändern, nur weiß ich noch nicht wie.

Hier ist mal der SQL-String der in AC funktionierenden Abfrage:

SELECT Personen.Nachname, Geburtsdatum.Geburtsdatum, Sterbedatum.Sterbedatum
FROM (Personen LEFT JOIN Geburtsdatum ON Personen.ID = Geburtsdatum.PID)
LEFT JOIN Sterbedatum ON Personen.ID = Sterbedatum.PID
WHERE (((Geburtsdatum.Geburtsdatum) Is Not Null) AND ((Geburtsdatum.[KZ Geb
in Kal])=True)) OR (((Geburtsdatum.Geburtsdatum) Is Not Null) AND
((Sterbedatum.Sterbedatum) Is Null) AND
(([Kalenderjahr]-Year([Geburtsdatum])) In (75,80,90)))
ORDER BY Personen.Nachname;

Um es dir einfacher zu machen, hier ein Screenshot der Entwicklungsansicht:
Loading Image...

Wie schaffe ich es, dass der Parameter [Kalenderjahr] von Excel an Access
übergeben wird, damit Access ihn zur Berechnung des zusätzlichen Feldes
nutzen kann, auf das dann die Kriterien angewandt werden können?

Das Anwenden der Kriterien ist meiner Meinung nach nicht das Problem,
sondern das Problem besteht in der Berechnung des zusätzlichen Feldes mit
dem Parameter.

Hast du hier einen Ansatz? Ich kann also in AC und in Excel alles anpassen,
würde aber ungern alle Daten von Access zuerst nach Excel importieren und
erst dort alles berechnen, weil eigentlich nur wenige Datensätze
erforderlich sind. In Access läuft die oben beschiebene Abfrage mit guter
Performance. Wenn ich den Parameter übergeben bekäme, wäre alles wunderbar.

Vielen Dank für deine Mühe.

Viele Grüße

Frank
Thomas Ramel
2008-07-11 04:57:37 UTC
Permalink
Grüezi Frank

Frank Lauter schrieb am 10.07.2008
Post by Frank Lauter
vielen Dank für deine Hilfe.
Aber gerne doch, ich versuchs einfach mal weiter :-)
Post by Frank Lauter
Post by Thomas Ramel
Ist das zufälligerweise der folgende KB-Artikel?
http://support.microsoft.com/?scid=kb%3Ben-us%3B211926&x=10&y=12
Nein, meine Quelle ist ein Excel-Newsletter gewesen, aus dem ich das
irgendwann mal gesammelt habe. Leider weiß ich nicht mehr, wer der Autor ist
und wo das veröffentlicht wurde. Ich habe nur noch eine Textdatei auf meinem
Rechner gefunden.
Ja, das dürfte dann wohl der Smarttools Excel-Weekly gewesen sein, ich
erinnere ich.
Post by Frank Lauter
SELECT Personen.Nachname, Geburtsdatum.Geburtsdatum, Sterbedatum.Sterbedatum
FROM (Personen LEFT JOIN Geburtsdatum ON Personen.ID = Geburtsdatum.PID)
LEFT JOIN Sterbedatum ON Personen.ID = Sterbedatum.PID
WHERE (((Geburtsdatum.Geburtsdatum) Is Not Null) AND ((Geburtsdatum.[KZ Geb
in Kal])=True)) OR (((Geburtsdatum.Geburtsdatum) Is Not Null) AND
((Sterbedatum.Sterbedatum) Is Null) AND
(([Kalenderjahr]-Year([Geburtsdatum])) In (75,80,90)))
ORDER BY Personen.Nachname;
http://www.frank-lauter.gmxhome.de/ac.jpg
OK, wenn ich mir das so ansehe und in Erinnerung rufe, was Access tut, dann
dürfte beim Ausführen der Abfrage ein Fenster aufpoppen, welches das
Kalenderjahr abfragt, richtig?

Ist das denn auch der Fall, wenn Du die Abfrage aus Excel heraus aufrufst?

(Ich habe beides hier nicht getestet, da ich die Testumgebung erst aufbauen
müsste).
Post by Frank Lauter
Wie schaffe ich es, dass der Parameter [Kalenderjahr] von Excel an Access
übergeben wird, damit Access ihn zur Berechnung des zusätzlichen Feldes
nutzen kann, auf das dann die Kriterien angewandt werden können?
Eine Zelle mit Namen 'Kalenderjahr' reicht da vermutlich noch nicht aus?
Teste das mal indem du für eine Zelle den Namen im Namensfeld einträgst und
diese dann vor der in Excel durchgeführten Abfrage mit einer Jahresangabe
füllst.
Post by Frank Lauter
Das Anwenden der Kriterien ist meiner Meinung nach nicht das Problem,
sondern das Problem besteht in der Berechnung des zusätzlichen Feldes mit
dem Parameter.
Ja, wie bekommt man einen Wert in das (vermutlich) aufpoppende Fenster?
Im ersten Augenblick föllt mir da nur (pfui!) SendKeys ein.
Post by Frank Lauter
Hast du hier einen Ansatz? Ich kann also in AC und in Excel alles anpassen,
würde aber ungern alle Daten von Access zuerst nach Excel importieren und
erst dort alles berechnen, weil eigentlich nur wenige Datensätze
erforderlich sind. In Access läuft die oben beschiebene Abfrage mit guter
Performance. Wenn ich den Parameter übergeben bekäme, wäre alles wunderbar.
Versuche mal in der Auswahl der Daten nicht die Abfrage in Access anzugeben
sondern die einzelnen Quelltabellen.
In MS-Query kannst Du dann den Button [SQL] verwenden um einen SQL-String
zu definieren.
Hier kopierst Du dann den String aus der Access-Abfrage und fomulierst
diese in Excel nochmals. Hierbei sollte es dann möglich sein nach dem im
Newsletter oder dem KB-Artikel beschribenen Verfahren vorzugehen und einen
Parameter aus einer Excel-Zelle zu holen.

Das ist zwar nicht ganz so elegant und pfelgefreundlich wie wenn Du direkt
die Abfrage in Access benutzen könntest, aber dennoch sollte es so klappen.



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps
Frank Lauter
2008-07-11 15:56:14 UTC
Permalink
Hallo Thomas,

vielen Dank für deine Hilfe.
Post by Thomas Ramel
Post by Frank Lauter
Nein, meine Quelle ist ein Excel-Newsletter gewesen, aus dem ich das
irgendwann mal gesammelt habe. Leider weiß ich nicht mehr, wer der Autor ist
und wo das veröffentlicht wurde. Ich habe nur noch eine Textdatei auf meinem
Rechner gefunden.
Ja, das dürfte dann wohl der Smarttools Excel-Weekly gewesen sein, ich
erinnere ich.
Das kann gut sein, den habe ich zumindest auch abonniert.
Post by Thomas Ramel
Post by Frank Lauter
Um es dir einfacher zu machen, hier ein Screenshot der
http://www.frank-lauter.gmxhome.de/ac.jpg
OK, wenn ich mir das so ansehe und in Erinnerung rufe, was Access tut, dann
dürfte beim Ausführen der Abfrage ein Fenster aufpoppen, welches das
Kalenderjahr abfragt, richtig?
Ja, richtig.
Post by Thomas Ramel
Ist das denn auch der Fall, wenn Du die Abfrage aus Excel heraus aufrufst?
Nein, soweit komme ich nicht. Im Datenbank-Assistenten kann ich die Abfrage
noch auswählen, aber sobald ich die Daten an Excel übergeben möchte oder die
Abfrage mit Query weiterbearbeiten möchte, kommt sofort die Meldung:

"1 Parameter wurde erwartet, aber es wurden zu wenig Parameter übergeben."

"Fertig stellen" lässt sich der Assistent nicht. Mit Abbrechen kommt die
Frage: "Mit Query weiterbearbeiten?", die ich mit Ja bestätige. Daraufhin
öffnet sich Query, zeigt die Abfrage (als Tabelle) an, zeigt aber keine
Daten.
Post by Thomas Ramel
(Ich habe beides hier nicht getestet, da ich die Testumgebung erst aufbauen
müsste).
Die Arbeit kann ich dir gerne abnehmen. Hier findest du die auf das
Wesentliche reduzierte DB.
http://www.frank-lauter.gmxhome.de/testumgebung.zip
Post by Thomas Ramel
Eine Zelle mit Namen 'Kalenderjahr' reicht da vermutlich noch nicht aus?
Teste das mal indem du für eine Zelle den Namen im Namensfeld einträgst und
diese dann vor der in Excel durchgeführten Abfrage mit einer Jahresangabe
füllst.
Die Einbindung als externe Daten wird ja schon verhindert, von daher kann
ich das nicht testen.
Vorbereitet ist das in der Exceldatei.
Post by Thomas Ramel
Ja, wie bekommt man einen Wert in das (vermutlich) aufpoppende Fenster?
Im ersten Augenblick föllt mir da nur (pfui!) SendKeys ein.
Es kommt nicht zu einem aufpoppenden Fenster.
Post by Thomas Ramel
Versuche mal in der Auswahl der Daten nicht die Abfrage in Access anzugeben
sondern die einzelnen Quelltabellen.
In MS-Query kannst Du dann den Button [SQL] verwenden um einen SQL-String
zu definieren.
Hier kopierst Du dann den String aus der Access-Abfrage und fomulierst
diese in Excel nochmals. Hierbei sollte es dann möglich sein nach dem im
Newsletter oder dem KB-Artikel beschribenen Verfahren vorzugehen und einen
Parameter aus einer Excel-Zelle zu holen.
Das ist zwar nicht ganz so elegant und pfelgefreundlich wie wenn Du direkt
die Abfrage in Access benutzen könntest, aber dennoch sollte es so klappen.
Query meckert sofort über die erste Tabelle, dass es sie nicht finden
könnte. Dabei habe ich versucht, die Speicherpfade so anzugeben, wie ich es
in anderen Query-SQL-Strings gefunden habe.

Ergänzend:
Ich habe mal eine Parameterabfrage erstellt, wo der Parameter nur Kriterium
für die WHERE-Klausel ist (so wie in den Beispielen). Das klappt. Sehe ich
mir in Query den SQL-String davon an, steht dort " WHERE [Feld]=?"
Wieso Query ein Fragezeichen zeigt, statt der Parameterbezeichnung, ist mir
nicht klar. Die beim Ausführen erscheinende Aufforderung, den Parameter
einzugeben, enthält die korrekte Parameterbezeichnung.

Mir gehen die Ideen aus, was ich noch probieren könnte. Hast du noch
Ansätze?

Vielen Dank und viele Grüße.

Frank
Frank Lauter
2008-07-15 21:29:45 UTC
Permalink
Post by Frank Lauter
Ich habe mal eine Parameterabfrage erstellt, wo der Parameter nur
Kriterium für die WHERE-Klausel ist (so wie in den Beispielen). Das
klappt. Sehe ich mir in Query den SQL-String davon an, steht dort " WHERE
[Feld]=?"
Wieso Query ein Fragezeichen zeigt, statt der Parameterbezeichnung, ist
mir nicht klar. Die beim Ausführen erscheinende Aufforderung, den
Parameter einzugeben, enthält die korrekte Parameterbezeichnung.
Meine Versuche mit dem Objektmodell führen mich zu der Annahme, dass Query
die Fragezeichen in der Reihenfoge ihres Auftauchens durch die Parameter
ersetzt.

Ich habe jetzt auch eine Lösung für mein Problem gefunden. Sie ist nicht
elegant und auch eher aufwändig, aber sie funktioniert.
Ich habe den Parameter aus der Feldberechnung herausgenommen, so dass nur
noch das Geburtsjahr ausgegeben wird. Den Parameter habe ich dann im
Kriterium verwendet, indem ich fordere, dass das Geburtsjahr
In([Kalenderjahr]-75;[Kalenderjahr]-80 usw. ist.
Ein großer Nachteil ist, dass Query [Kalenderjahr] nicht als einzelnen
Parameter versteht, sondern jedes Vorkommen als neuen Parameter versteht
(die gleiche Namen haben) und diese einzeln abfragt.

Wenn jemand eine einfachere Lösung hat, hätte ich daran Interesse.

Vielen Dank für die anregenden Vorschläge und viele Grüße.

Frank
Thomas Ramel
2008-07-16 08:55:01 UTC
Permalink
Grüezi Frank

Sorry, dass ich mich erst jetzt wieder melde, aber mein Urlaub, der am
Montag beann wollte erst noch 'verdient' werden....

Frank Lauter schrieb am 15.07.2008
Post by Frank Lauter
Post by Frank Lauter
Ich habe mal eine Parameterabfrage erstellt, wo der Parameter nur
Kriterium für die WHERE-Klausel ist (so wie in den Beispielen). Das
klappt. Sehe ich mir in Query den SQL-String davon an, steht dort " WHERE
[Feld]=?"
Wieso Query ein Fragezeichen zeigt, statt der Parameterbezeichnung, ist
mir nicht klar. Die beim Ausführen erscheinende Aufforderung, den
Parameter einzugeben, enthält die korrekte Parameterbezeichnung.
Meine Versuche mit dem Objektmodell führen mich zu der Annahme, dass Query
die Fragezeichen in der Reihenfoge ihres Auftauchens durch die Parameter
ersetzt.
Ich habe ebenfalls mit Excel versucht eine Abfrage zu generieren, aber bin
dabei auf das Problem gestossen, dass Parameter nur dann mit Zellen
verknüpft wurden, wenn diese im Kriterien-Bereich der Abfrage untergebracht
waren, nicht aber als berechnetes Element.

Ich hab die Abfrage daher dann mal mit fixem Wert '2008' und mit allen
anderen Kriterien die noch zu setzen waren, fertig gestellt und im
Tabellenblatt gespeichert.
Das Ganze habe ich im Makro-Recorder aufgezeichet und so den SQL-String im
Code gehabt.

Diesen habe ich dann noch ein wenig umgestrickt, sodass der Parameter immer
beim Verändern der Zelle A1 im String geändert wird und die Abfrage dann
mit diesem neuen SQL-String ausgeführt wird.

Des weiteren müssen nun die .MDB und die .XLS sich einfach irgendwo im
selben Ordner befinden, der Pfad wird ebenfalls automatisch richtig
gesetzt.

Lade hier also die .XLD herunter und speichere sie im selben Ordner wo Du
schon die .MDB hast. Öffne dann die Mappe und verändere die Jahreszahl in
Zelle A1 - alles weitere sollte von selbst dann richtig geschehen.

http://users.quick-line.ch/ramel/Demo-Daten/testxl.xls

Der Vorteil dieser Variante ist, dass die Lösung unabhängig von Access
funktioniert.


Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps
Frank Lauter
2008-07-17 11:07:04 UTC
Permalink
Hallo Thomas,
Post by Thomas Ramel
Sorry, dass ich mich erst jetzt wieder melde, aber mein Urlaub, der am
Montag beann wollte erst noch 'verdient' werden....
verdient hast du den bestimmt. Ich wünsche dir einen schönen erholsamen
Urlaub.
Post by Thomas Ramel
Ich habe ebenfalls mit Excel versucht eine Abfrage zu generieren, aber bin
dabei auf das Problem gestossen, dass Parameter nur dann mit Zellen
verknüpft wurden, wenn diese im Kriterien-Bereich der Abfrage
untergebracht
waren, nicht aber als berechnetes Element.
Die Beobachtung habe ich auch gemacht. Ich finde keinen Weg, diese in die
Berechnung zu bringen. Vermutlich ist eine Feldberechnung in Query nicht
vorgesehen.
Post by Thomas Ramel
Ich hab die Abfrage daher dann mal mit fixem Wert '2008' und mit allen
anderen Kriterien die noch zu setzen waren, fertig gestellt und im
Tabellenblatt gespeichert.
Das Ganze habe ich im Makro-Recorder aufgezeichet und so den SQL-String im
Code gehabt.
Diesen habe ich dann noch ein wenig umgestrickt, sodass der Parameter immer
beim Verändern der Zelle A1 im String geändert wird und die Abfrage dann
mit diesem neuen SQL-String ausgeführt wird.
Das ist ein schöner Ansatz.
Post by Thomas Ramel
Des weiteren müssen nun die .MDB und die .XLS sich einfach irgendwo im
selben Ordner befinden, der Pfad wird ebenfalls automatisch richtig
gesetzt.
In dem Fall habe ich Glück, die Pfade sind zwar unterschiedlich, aber fest,
so dass ich das leicht ändern kann. Deine Testdatei funktioniert wunderbar.

Vielen Dank für deine tolle Unterstützung und die Mühe, die du mit dieser
Frage hattest.
Einen schönen Urlaub und alles Gute

Frank

Thomas Ramel
2008-07-16 09:30:28 UTC
Permalink
Grüezi Frank

Frank Lauter schrieb am 15.07.2008
Post by Frank Lauter
Ich habe den Parameter aus der Feldberechnung herausgenommen, so dass nur
noch das Geburtsjahr ausgegeben wird. Den Parameter habe ich dann im
Kriterium verwendet, indem ich fordere, dass das Geburtsjahr
In([Kalenderjahr]-75;[Kalenderjahr]-80 usw. ist.
Ja, auch das klappt - hast Du das in Excel oder in Access getan?
Post by Frank Lauter
Ein großer Nachteil ist, dass Query [Kalenderjahr] nicht als einzelnen
Parameter versteht, sondern jedes Vorkommen als neuen Parameter versteht
(die gleiche Namen haben) und diese einzeln abfragt.
Das ist korrekt - wenn Du im Excel-Tabellenblatt eine Abfrage mit der
entsprechenden externen Datenquelle erstellt hast kannst Du nach dem
Zurückgeben der Daten diese Parameter einzelnen Zellen zuweisen.

Klicke rechts auf den Bereich der Daten - im Kontext-Menü erscheint nun der
Eintrag 'Parameter'.
Hier sind dann die einzelnen Parameter aufgeführt und Du kannst wählen wie
sie gefüllt werden sollen. Die dritte Möglichkeit sollte für dich
hinkommen. Wähle dort die Zelle A1 aus und setzte auch gleich den Haken,
dann wie die Abfrage automatisch akualisiert wenn sich der Wert ändert.

Verfahre mit allen drei Parametern gleich, dann passt das Ganze am Ende und
kommt (fast) auf dasselbe heraus, das ich mit meiner anderen Datei per VBA
erreicht habe.
Der Unterschied ist noch, dass mit der VBA-Lösung die beiden Daten Ordner
unabhängig verwendbar sind.





Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-3]
Microsoft Excel - Die ExpertenTipps
Frank Lauter
2008-07-17 11:08:30 UTC
Permalink
Hallo Thomas!
Post by Thomas Ramel
Post by Frank Lauter
Ich habe den Parameter aus der Feldberechnung herausgenommen, so dass nur
noch das Geburtsjahr ausgegeben wird. Den Parameter habe ich dann im
Kriterium verwendet, indem ich fordere, dass das Geburtsjahr
In([Kalenderjahr]-75;[Kalenderjahr]-80 usw. ist.
Ja, auch das klappt - hast Du das in Excel oder in Access getan?
Die Feldberechnung habe ich in Access geändert, das Kriterium in Query
(Excel) aufgebaut.
Post by Thomas Ramel
Post by Frank Lauter
Ein großer Nachteil ist, dass Query [Kalenderjahr] nicht als einzelnen
Parameter versteht, sondern jedes Vorkommen als neuen Parameter versteht
(die gleiche Namen haben) und diese einzeln abfragt.
Das ist korrekt - wenn Du im Excel-Tabellenblatt eine Abfrage mit der
entsprechenden externen Datenquelle erstellt hast kannst Du nach dem
Zurückgeben der Daten diese Parameter einzelnen Zellen zuweisen.
Ich habe bei allen auf die selbe Zelle verwiesen, was auch klappt.
Die automatische Aktualisierung habe ich mir aus Performancegründen gespart,
da ich vermute, dass Excel bei einer Änderung dann für jeden Parameter die
Aktualisierung umsetzt, dann würde die Abfrage 12 mal aktualisiert. ;-)
Die Aktualisierung erfolgt bei mir zusammen mit den anderen Abfragen durch
ein Makro, das alle externen Datenquellen einmal neu aktualisiert.

Vielen Dank für deine Hilfe und viele Grüße

Frank
Lesen Sie weiter auf narkive:
Suchergebnisse für 'Abfrage externe Daten aus Access mit Parameter' (Fragen und Antworten)
12
Antworten
Datei öffnen?
gestartet 2007-01-31 03:23:16 UTC
software
Loading...