Filter über VBA an eine bestehende Query übergeben

Hallo zusammen,

bin neu im Access und würde gern an eine bestehende Kreuztabellenabfrage einen Filter über VBA mit übergeben. Der Filter richtet sich nach der Berechtigung die der Nutzer hat.

Die Query öffne ich über DoCmd.OpenQuery - oder gibts da eine elegantere Variante ^^.

Dank schonmal für eure Tipps

Hallo Sandy,

erstmal herzlich WILLKOMMEN hier bei wer-weiss-was.

bin neu im Access

mit welcher Access-Version arbeitest du?

und würde gern an eine bestehende
Kreuztabellenabfrage einen Filter über VBA mit übergeben. Der
Filter richtet sich nach der Berechtigung die der Nutzer hat.

das erscheint mir nicht sinnvoll, aber das ist abhängig davon, was du erlauben/verbieten möchtest.

Die Query öffne ich über DoCmd.OpenQuery - oder gibts da eine
elegantere Variante ^^.

ich würde die Berechtigung gleich in VBA überprüfen:

if BERECHTIGT then
DoCmd.OpenQuery „Kreuztab_berechtigt“
else
DoCmd.OpenQuery „Kreuztab_nicht_berechtigt“
end if

dann hast du zwar zwei Berichte, bist aber flexibel was die Berechtigung angeht.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Sandy,

erstmal herzlich WILLKOMMEN hier bei wer-weiss-was.

Danke ^^

bin neu im Access

mit welcher Access-Version arbeitest du?

Access 2000

und würde gern an eine bestehende
Kreuztabellenabfrage einen Filter über VBA mit übergeben. Der
Filter richtet sich nach der Berechtigung die der Nutzer hat.

das erscheint mir nicht sinnvoll, aber das ist abhängig davon,
was du erlauben/verbieten möchtest.

Ich hab immo 12 Kreuztab - für jede Bearbeitergruppe aus dem Planer eine. Die sehen alle gleich aus, sind halt nur jeweils nach dem eigenen „Team“ gefiltert. Denn es darf keiner die Daten aus einem anderen Team sehen. Alle Kreuztabs beziehen sich immer auf dieselben Daten sind grob gesagt so aufgebaut …

__________01.01.08 02.01.08 … … 31.12.2009
Bearbeiter1 Urlaub
Bearbeiter2________1.Schicht_______Gleitzeit
Bearbeiter3________Krank
Bearbeiter4_Kindkrank

Nun ist es nicht sinnvoll immer alle Spalten anzeigen zu lassen. Deshalb hab ich eine Filter auf den Tag gelegt, der den aktuellen und den nächsten Monat ausgibt. Aber Manchmal muss doch sehen, wer z. B. um Ostern da ist - wegen der Urlaubsplanung. Bis jetzt müssten dazu die Bearbeiter im Entwurfsmodus den Filter ändern. Allerdings besteht genau hier das Prob. Denn in den Entwurfsmodus dürfen Sie von der Berechtigung her schon nicht - sie könnten ja dann auch gleich den Filter für das Team mit abändern. Deshalb wollte ich über z. B. ein Textfeld ein Datum mit vorgeben lassen, welches dann wiederrum diesen Monat filtert.

Boah… hoffe ich hab mich einigermaßen verständlich ausgedrückt.

Die Query öffne ich über DoCmd.OpenQuery - oder gibts da eine
elegantere Variante ^^.

ich würde die Berechtigung gleich in VBA überprüfen:

if BERECHTIGT then
DoCmd.OpenQuery „Kreuztab_berechtigt“
else
DoCmd.OpenQuery „Kreuztab_nicht_berechtigt“
end if

dann hast du zwar zwei Berichte, bist aber flexibel was die
Berechtigung angeht.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Sandy,

Ich hab immo 12 Kreuztab - für jede Bearbeitergruppe aus dem
Planer eine. Die sehen alle gleich aus, sind halt nur jeweils
nach dem eigenen „Team“ gefiltert. Denn es darf keiner die
Daten aus einem anderen Team sehen. Alle Kreuztabs beziehen
sich immer auf dieselben Daten sind grob gesagt so aufgebaut

danke für die optische Darstellung, die hilft uns hier nur nichts. Wichtig wäre zu wissen, wie dein SQL-String aussieht und welche Formulare/Felder du mit welchen Namen verwendest.

Du könntest z.B. ein Formular mit dem Namen „FRM_Bedingung“ erstellen. Dort hast du dann z.B. die Felder:

TextFeld: Team als Kombifeld (wird bei dir wohl direkt vorgegeben)
Datumsfeld: Datum_von
Datumsfeld: Datum_bis

daraus bildest du dann deine Bedingung für die Abfrage die dann im extra Formular FRM_Datenausgabe, oder besser direkt im FRM_Bedingung ausgegeben wird.

Anwenderfeundlich wäre z.B. die Bedingungsfelder im Formularkopf anzubringen.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

ehrlich gesagt, keine Ahnung, was du wirklich alles brauchst, hier erstmal die SQL von einer Kreuztabelle. In der Kreuztabelle sind noch ein paar Felder ausgeblendet, die nur für die Sortierung drin sind und auf Grund der breite der Tabelle ist die Spalte mit den Namen fixiert.

TRANSFORM First(Abwesenheitsarten.Abwesenheit) AS ErsterWertvonAbwesenheit
SELECT AA\_VollerName.[Voller Name], Personendaten.Team, AA\_VollerName.Position, First(Abwesenheit.Abwesenheit) AS [Gesamtsumme von Abwesenheit]
FROM (Personendaten INNER JOIN (Abwesenheitsarten INNER JOIN Abwesenheit ON Abwesenheitsarten.ID\_Abwesenheit = Abwesenheit.Abwesenheit) ON Personendaten.ID\_Name = Abwesenheit.Bearbeiter) INNER JOIN AA\_VollerName ON Personendaten.ID\_Name = AA\_VollerName.ID\_Name
WHERE (((Personendaten.Team)="BO") AND ((Abwesenheit.Tag)\>=DateSerial(Year(Date()),Month(Date()),1) And (Abwesenheit.Tag)

Habe ein Formular "Abwesenheit" aus dem ich mit einem Commandbutton die jeweilige Kreuztabelle über VBA aufrufe. Im Form ist u. a. eine Combobox mit dem CBTeam und 2 Textboxen TBvon und TBbis für die "Datümer". Wollte zuerst auch direkt in dem Formular über ein Unterformular die Kreuztabelle aufrufen, bin ich aber nicht so recht klargekommen, da die Anzahl der Spalten samt Spaltenkopf immer variiert.


> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>

Hallo Sandy,

das sieht doch schon sehr gut aus:

TRANSFORM First(Abwesenheitsarten.Abwesenheit) AS
ErsterWertvonAbwesenheit
SELECT AA_VollerName.[Voller Name], Personendaten.Team,
AA_VollerName.Position, First(Abwesenheit.Abwesenheit) AS
[Gesamtsumme von Abwesenheit]
FROM (Personendaten INNER JOIN (Abwesenheitsarten INNER JOIN
Abwesenheit ON Abwesenheitsarten.ID_Abwesenheit =
Abwesenheit.Abwesenheit) ON Personendaten.ID_Name =
Abwesenheit.Bearbeiter) INNER JOIN AA_VollerName ON
Personendaten.ID_Name = AA_VollerName.ID_Name
WHERE (((Personendaten.Team)=„BO“) AND
((Abwesenheit.Tag)>=DateSerial(Year(Date()),Month(Date()),1)
And
(Abwesenheit.Tag)

Habe ein Formular „Abwesenheit“ aus dem ich mit einem
Commandbutton die jeweilige Kreuztabelle über VBA aufrufe. Im
Form ist u. a. eine Combobox mit dem CBTeam und 2 Textboxen
TBvon und TBbis für die „Datümer“.

genau das meinte ich, das ist doch hervorragend, dann kannst du doch die Eingaben direkt in deiner Abfrage übernehmen.

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Hallo Wolfgang,

ich nochmal :frowning:

Wie bekomm ich das nun aber in die bestehende Abfrage ein, oder muss ich immer eine neue Query erstellen und die im nachhinein wieder löschen? Ich steh immo komplett auf dem Schlauch :cry:

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Hallo Sandy,

Wie bekomm ich das nun aber in die bestehende Abfrage ein,
oder muss ich immer eine neue Query erstellen und die im
nachhinein wieder löschen? Ich steh immo komplett auf dem
Schlauch :cry:

dann war das Frühstück wohl nicht so besonders?

Mit den variablen Parametern benötigst du quasi nur noch eine Abfrage.

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Hallo Wolfgang,

der ganze Tag schein nicht so gut zu sein …

Eine Abfrage nur noch, soweit klar, und ja die Daten zu allen Teams stehen sozusagend in einer Tabelle.

Ich nehme mal an, dass ich die Parameter irgendwie über VBA der Query mitteilen muss - aber wie? Sorry, für die vll dämliche Frage.

dann war das Frühstück wohl nicht so besonders?

Mit den variablen Parametern benötigst du quasi nur noch eine
Abfrage.

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Hallo Sandy,

Eine Abfrage nur noch, soweit klar, und ja die Daten zu allen
Teams stehen sozusagend in einer Tabelle.

sehr gut, dann ist die Basis ja vorhanden.

Ich nehme mal an, dass ich die Parameter irgendwie über VBA
der Query mitteilen muss - aber wie? Sorry, für die vll
dämliche Frage.

du hast eine Abfrage:

TRANSFORM First(Abwesenheitsarten.Abwesenheit) AS ErsterWertvonAbwesenheit
SELECT AA\_VollerName.[Voller Name], Personendaten.Team, AA\_VollerName.Position, First(Abwesenheit.Abwesenheit) AS [Gesamtsumme von Abwesenheit]
FROM (Personendaten INNER JOIN (Abwesenheitsarten INNER JOIN Abwesenheit ON Abwesenheitsarten.ID\_Abwesenheit = Abwesenheit.Abwesenheit) ON Personendaten.ID\_Name = Abwesenheit.Bearbeiter) INNER JOIN AA\_VollerName ON Personendaten.ID\_Name = AA\_VollerName.ID\_Name
WHERE (((**Personendaten.Team)="BO"**) AND ((**Abwesenheit.Tag)\>=DateSerial(Year(Date()),Month(Date()),1)** And **(Abwesenheit.Tag)  
GROUP BY AA\_VollerName.[Voller Name], Personendaten.Team, AA\_VollerName.Position  
ORDER BY Personendaten.Team, AA\_VollerName.Position, Abwesenheit.Tag  
PIVOT Abwesenheit.Tag;**  

die dort fest programmierten Werte werden durch die Angabe der Quelle, in diesem Fall die Felder im Formular ersetzt:

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag) Forms!Abwesenheit.CBTeam

So nimmt deine Abfrage den Inhalt des Feldes CBTeam auf deinem Formular „Abwesenheit“ als Kriterium.

D.h. damit hast du der Abfrage schon mitgeteilt, wo das Auswahl - Kriterium für Personendaten.Team herkommt! Mehr ist nicht nötig!

Nach dem Wechsel der Auswahl im Feld CBTeam machst du ein Requery in dem Formular das die Abfrage als Datenbasis hat, um die neuen Daten anzeigen zu lassen.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,
Wenn ich dich richtig verstanden hab, dann „einfach“ in der SQL-Ansicht die Fixen durch die Variablen ersetzen?

meine „WHERE“ Zeile sieht jetzt konkret so aus:

WHERE (((Personendaten.Team)= '" & Forms!Abwesenheit.CBTeam.Column(0, Forms!Abwesenheit.CBTeam.ListIndex) & "'))

Das Datum hab ich zur Probe erstmal weggelassen. Allerdings findet er nix. In der Variablen steht - zumindest im VBA - das richtige drin - „BO“. Hab dann mal versucht die Variable „aufzulösen“, also direkt mit BO einzusetzen …

WHERE (((Personendaten.Team)= '" & "BO" & "'))

auch da kommt bei der Abfrage nix mehr raus.

Hilfe ^^

TRANSFORM First(Abwesenheitsarten.Abwesenheit) AS
ErsterWertvonAbwesenheit
SELECT AA_VollerName.[Voller Name], Personendaten.Team,
AA_VollerName.Position, First(Abwesenheit.Abwesenheit) AS
[Gesamtsumme von Abwesenheit]
FROM (Personendaten INNER JOIN (Abwesenheitsarten INNER JOIN
Abwesenheit ON Abwesenheitsarten.ID_Abwesenheit =
Abwesenheit.Abwesenheit) ON Personendaten.ID_Name =
Abwesenheit.Bearbeiter) INNER JOIN AA_VollerName ON
Personendaten.ID_Name = AA_VollerName.ID_Name
WHERE (((Personendaten.Team)=„BO“) AND
((Abwesenheit.Tag)>=DateSerial(Year(Date()),Month(Date()),1)
And
(Abwesenheit.Tag)
GROUP BY AA_VollerName.[Voller Name], Personendaten.Team,
AA_VollerName.Position
ORDER BY Personendaten.Team, AA_VollerName.Position,
Abwesenheit.Tag
PIVOT Abwesenheit.Tag;

Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘"
(Abwesenheit.Tag)>= ‚" & Forms!Abwesenheit.TBvon & "‘"
(Abwesenheit.Tag)

Hallo Sandy,

Wenn ich dich richtig verstanden hab, dann „einfach“ in der
SQL-Ansicht die Fixen durch die Variablen ersetzen?

ja, genau so

meine „WHERE“ Zeile sieht jetzt konkret so aus:

WHERE (((Personendaten.Team)= ‚" &
Forms!Abwesenheit.CBTeam.Column(0,
Forms!Abwesenheit.CBTeam.ListIndex) & "‘))

Column() kannst du dir sparen, da immer Column(0) übergeben wird.

D.h. beides ist gleich und liefert den gleichen Wert:
Forms!Abwesenheit.CBTeam
Forms!Abwesenheit.CBTeam.column(0)

ListIndex vergißt du mal ganz schnell :smile:

Das Datum hab ich zur Probe erstmal weggelassen. Allerdings
findet er nix. In der Variablen steht - zumindest im VBA - das
richtige drin - „BO“. Hab dann mal versucht die Variable
„aufzulösen“, also direkt mit BO einzusetzen …

WHERE (((Personendaten.Team)= ‚" & „BO“ & "‘))

auch da kommt bei der Abfrage nix mehr raus.

du hast auch nach Änderung des Wertes im Feld CBTeam ein Requery gemacht?

deine Where Klausel ist ein String und fängt irgendwo mit einem Gänsefüßchen an:

„…WHERE (((Personendaten.Team)= '“ &
und wieder ein String -> „BO“
nun kommt ein UND -> &
und wieder ein String -> „’))“

du benötigst als Ergebnis: Personendaten.Team)= „BO“

Deine Where-Bedingung sieht aber nun so aus:
„WHERE Personendaten.Team)= „“„BO““"
und kann nicht funktionieren!

Da doppelte Gänsefüßchen in einem String nicht funktionieren, benutzt man das Apostroph-Zeichen ’
Das Apostroph-Zeichen ’ benötigst du nur, wenn du eine String -Variable in deine Where-Klausel integrieren willst.

ohne würde es so aussehen:
Personendaten.Team)= BO

da BO kein String ist, fragt Access nach der Variablen BO, die es ja nicht gibt.

wenn du also einen fertigen String hast, sollte es so aussehen:
"… WHERE (((Personendaten.Team)= " & „BO“ & „))“

mit Variabel sollte es dann so aussehen:
„… WHERE (((Personendaten.Team)= '“ & StringVARIABLE & „’))“

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

und nochmal der - hoffentlich nur heute - ständig auf der Leitung stehende …erstmal ein dickes Danke zwischendurch für deine Geduld mit mir. Ich raffs sicher irgendwann noch. Prinzipiell versteh ich was du sagst mit den Gänsefüßchen und Apostrophen und so. ABER ich bekomms immer noch nicht auf die Reihe :frowning:

Column() kannst du dir sparen, da immer Column(0) übergeben
wird.

D.h. beides ist gleich und liefert den gleichen Wert:
Forms!Abwesenheit.CBTeam
Forms!Abwesenheit.CBTeam.column(0)

hab ich gleich mal so gemacht

WHERE (((Personendaten.Team)= ‚" & „BO“ & "‘))
auch da kommt bei der Abfrage nix mehr raus.

du hast auch nach Änderung des Wertes im Feld CBTeam ein
Requery gemacht?

Ich wähle ja das Team aus einer Combobox im Formular Abwesenheit aus. Von diesem Formular starte ich über einen Button ja erst die Kreuzabfrage. „Dachte“ damit brauch ich das Requery nicht, da ich ja nix mehr änder nach dem Drücken des Buttons. Habs aber trotzdem eingebaut. Und immer noch nichts. Denke ich bekomm das eher mit den Gänsefüßchen nicht so recht gebacken. In der gesamten SQL-Ansicht der Abfrage sind ja im „normalen Fall“ nur die Gänsefüßchen um einen String.

deine Where Klausel ist ein String und fängt irgendwo mit
einem Gänsefüßchen an:

„…WHERE (((Personendaten.Team)= '“

TRANSFORM …
SELECT …
FROM …
WHERE (((Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam & "‘ ))
GROUP BY …
ORDER BY …
PIVOT …

weist ja sicher :wink:. Die WHERE-Zeile sieht bei mir ganz genau so aus - kein Zeichen weggelassen oder hinzugedichtet. Nirgends außer in der Where-Zeile Gänsefüßchen.

nun kommt ein UND -> &
und wieder ein String -> „BO“
nun kommt ein UND -> &
und wieder ein String -> „’))“

du benötigst als Ergebnis: Personendaten.Team)= „BO“

Deine Where-Bedingung sieht aber nun so aus:
„WHERE Personendaten.Team)= „“„BO““"
und kann nicht funktionieren!

Da doppelte Gänsefüßchen in einem String nicht funktionieren,
benutzt man das Apostroph-Zeichen ’
Das Apostroph-Zeichen ’ benötigst du nur, wenn du eine String
-Variable in deine Where-Klausel integrieren willst.

ohne würde es so aussehen:
Personendaten.Team)= BO

da BO kein String ist, fragt Access nach der Variablen BO, die
es ja nicht gibt.

soweit wieder klar

wenn du also einen fertigen String hast, sollte es so
aussehen:
"… WHERE (((Personendaten.Team)= " & „BO“ & „))“

mit Variabel sollte es dann so aussehen:
„… WHERE (((Personendaten.Team)= '“ & StringVARIABLE &
„’))“

Zu schaffen macht mir, und sicher auch inzwischen dir, wo ich die ersten Gänsefüßchen hinsetzen muss. Vll. hast ja noch ein paar Nerven und bringst mich doch noch zum Erfolg ^^.

Danke Sandy

Hallo Sandy,

Ich wähle ja das Team aus einer Combobox im Formular
Abwesenheit aus. Von diesem Formular starte ich über einen
Button ja erst die Kreuzabfrage.

Frage: WIE startest du die Abfrage?

Wo soll ich dann die ersten Gänsefüßchen setzen? Ich hab den
Eindruck egal wo, der doofe Rechner meckert jedesmal wegen
einen Syntaxfehler, oder er kennt den Feldnamen bzw. -ausdruck
Forms!Abwesenheit.CBTeam nicht.

dein Formular >Abwesenheit

TRANSFORM …
SELECT …
FROM …
WHERE (((Personendaten.Team)= ‚" & Forms!Abwesenheit.CBTeam &
"‘ ))
GROUP BY …
ORDER BY …
PIVOT …

alles vollkommen in Ordnung so :smile:

Zu schaffen macht mir, und sicher auch inzwischen dir, wo ich
die ersten Gänsefüßchen hinsetzen muss.

Wenn das die SQL-Ansicht im Abfragegenerator ist, dann sind keine zusätzlichen Gänsefüßchen notwendig!

Vll. hast ja noch ein paar Nerven und bringst mich doch noch zum
Erfolg ^^.

^^klar, wir schaffen das schon :smile:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,
schön, so schnell wieder von dir zu hören ^^

Ich wähle ja das Team aus einer Combobox im Formular
Abwesenheit aus. Von diesem Formular starte ich über einen
Button ja erst die Kreuzabfrage.

Frage: WIE startest du die Abfrage?

DoCmd.OpenQuery Abfrage, acViewNormal, acReadOnly

Wo soll ich dann die ersten Gänsefüßchen setzen? Ich hab den
Eindruck egal wo, der doofe Rechner meckert jedesmal wegen
einen Syntaxfehler, oder er kennt den Feldnamen bzw. -ausdruck
Forms!Abwesenheit.CBTeam nicht.

dein Formular >Abwesenheit

Hallo Sandy,

schön, so schnell wieder von dir zu hören ^^

sitze ja auch vorm PC :smile:

bevor wir hier noch stundenlang rumexperementieren, schick mir mal deine MDB rüber, ich schau sie mir dann mal an.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

bevor wir hier noch stundenlang rumexperementieren, schick mir
mal deine MDB rüber, ich schau sie mir dann mal an.

sorry, aber das geht aus mindestens 2 Gründen nicht …
1.) sind dort zuviel „Unternehmens“-Daten schon drin - Datenschutz
2.) ist passwortgeschützt und ich hab keine Ahnung, wie ich die wieder „öffne“ bzw. trau ich mir das jetzt auch nicht mehr zuviel an den Berechtigungen dranrumzuspielen
3.) da siehst du ja den ganzen schwachfug, den ich zusammengeproggt hab :wink:

trotzdem danke für das angebot - aber ist echt nicht möglich.

Gruß Sandy

Hallo Sandy,

sorry, aber das geht aus mindestens 2 Gründen nicht …
1.) sind dort zuviel „Unternehmens“-Daten schon drin -
Datenschutz

neee, die wollte ich sowieso nicht haben

2.) ist passwortgeschützt und ich hab keine Ahnung, wie ich
die wieder „öffne“ bzw. trau ich mir das jetzt auch nicht mehr
zuviel an den Berechtigungen dranrumzuspielen

man sollte nie an der original-MDB arbeiten :smile:

3.) da siehst du ja den ganzen schwachfug, den ich
zusammengeproggt hab :wink:

*g*

trotzdem danke für das angebot - aber ist echt nicht möglich.

ok, musst du wissen… du könntest ja nur das Formular und die Abfrage exportieren in eine leere andere MDB und diese dann schicken.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

ok, musst du wissen… du könntest ja nur das Formular und
die Abfrage exportieren in eine leere andere MDB und diese
dann schicken.

hab nun exportiert - werd die Daten morgen nur noch ein wenig ändern und vll auch ein bisschen einkürzen…

Schick dir dann morgen abend die hilfe.mdb an die o. g. email ok?

gruß und thx nochmal

sandy