Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Datenblattansicht (Auto)Filter bei VBA berechneten Werten?
zurück: Datensätze zu Datenbank hinzufügen weiter: Übertrag speichern oder brechnen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Aug 2012, 11:50
Rufname:

Datenblattansicht (Auto)Filter bei VBA berechneten Werten? - Datenblattansicht (Auto)Filter bei VBA berechneten Werten?

Nach oben
       Version: Office 2007

Liebe Formumsteilnehmer

Ich habe ein Problem bzw. eine Frage wegen den (normalerweise) automatisch generierten Werten der Filter in der Datenblattansicht, auf die mir Dr. Google leider keine brauchbare Antworte geben konnte.

Ausgangslage
Ich habe ein Formular für die Geschäftskontrolle (frm_ShowGS), welches mir die notwendigen Informationen anzeigt. Ursprünglich wurden alle Werte des Formular aus der Abfrage (qry_ShowGS) bezogen. Dies führte dazu, dass sich das Datenblatt bei jedem Scrollen undendlich lange neu berechnete und daher unbrauchbar wurde.

Deshalb habe ich ein wenig experimentiert und neue in der qry_ShowGS nur noch die via SQL direkt abfragbaren Werte geholt. Die Werte, welche ich via VBA zusammenstellen muss (z.B. Mehre Kundennamen pro Geschäft) habe ich in Public Functions (z.B. getKundeByCaseID) ausgeglieder, die als Steuerelementinhalt auf dem Formular frm_ShowGS hinterlegt sind. Dadurch wurde das Formular schnell und brauchbar, es verlor jedoch in den mit VBA abgefüllten Spalten die Möglichkeit den Autofilter zu verwenden. Drückt man in einer solchen Spalte auf das Dreieck in der Spaltenbeschriftung, bleibt das erwarete Auswahlmenu mit den enthaltenen Werten aus.

Fragen
1. Kennt jemand eine Möglichkeit die Filtereigenschaft in der Datenblattansicht für die mit VBA befüllten Spalten wieder zu aktivieren?
2. Kennt jemand eine Möglickeit die dauernde Aktualisierung / Neuberechnung bei Formularen in der Datenblattansicht zu verhindern?

Besten Dank für Eure Hilfe
apg
MiLie
kein Office- VBA- Programmierer


Verfasst am:
07. Aug 2012, 18:58
Rufname: Micha
Wohnort: Chemnitz


AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Hallo,

ich weiß jetzt zwar nicht welche Berechnung eine " endlos lange dauernde Aktualisierung" auslöst, aber du kannst deine Funktion getKundeByCaseID , die du jetzt fürs Formular "ausgelagert" hast genauso in einer Abfrage verwenden.

Auch indizieren der in der Funktion verwendten Tabellenfelder kann beschleunigen.

_________________
Viele Grüße

Micha

Schreibfehler die Ihr findet, könnt Ihr behalten
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Aug 2012, 10:44
Rufname:

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Hallo Micha

Danke für die Nachfrage! Mit endlos meine ich gemessene 5 Minuten und gefühlte Stunden Mad - und das jedes Mal wenn ich srolle oder sonst etwas tue auf der Liste mit rund 1400 Einträgen. Durch die Ausgliederung kann ich auf der Tabelle fast ohne Verzögerung scrollen und bewegen. Die via Vba errechneten Spalten füllen sich dann nach und nach.

Aber wie ich sehe, war ich wohl mit meiner Frage schon viel zu spezifisch. Mein grundlegendes Problem ist eigentlich dieses:
Wie gehe ich am besten vor wenn ich alle zu einem Geschäft gehörenden Kunden in einer Spalte des Geschäfts darstellen will?

Spalte A Spalte B
Hausverkauf Kunde X, Kund Y, Kunde Z

Datenstruktur
tblGeschaeft:
1 Hausverkauf

tblKunde:
1 Kunde x
2 Kunde Y
3 Kunde z

mtrGeschaeftKunde:
1 2
1 3
1 4

Danke für die Hilfe & Gruss
APG
MiLie
kein Office- VBA- Programmierer


Verfasst am:
14. Aug 2012, 19:35
Rufname: Micha
Wohnort: Chemnitz

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Hallo,

zeige mal deine Funktion.

Wie viel Kunden kommen denn in so einer Spalte max vor?

140 Ds ist jetzt nicht die große Menge.

_________________
Viele Grüße

Micha

Schreibfehler die Ihr findet, könnt Ihr behalten
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Aug 2012, 00:56
Rufname:


AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Es sind 1400, aber darob sollte der Braten m.E. nicht gerade so feiss werden.
Danke, das Angebot nehme ich gerne an!

qry_ShowGS (ohne Probleme)
Code:
SELECT   qry_Person.Alias, qry_Geschaeft.refPersonID, qry_Person_1.Alias,
         qry_Region.MyName, qry_GsStand.MyName, qry_GsSchritt.MyName,
         qry_Geschaeft.ID, qry_Geschaeft.FK, qry_Geschaeft.Nr,
         qry_Geschaeft.MyName, qry_Geschaeft.GsSchrittDat,
         qry_Geschaeft.GsSchrittKommentar, qry_Geschaeft.EroeffnungDat,
         qry_Geschaeft.FKstatus, qry_Geschaeft.SummeCHF, qry_Geschaeft.Ind1,
         qry_Geschaeft.Ind2, qry_Geschaeft.Ind3, qry_Geschaeft.Ind4,
         qry_Geschaeft.Kommentar, qry_Geschaeft.AktualisierungDat,
         qry_GLSitzung.DatSitzung, DateAdd("m",6,[EroeffnungDat]) AS ZielDat,
         DateAdd("y",[RetardD],[ZielDat]) AS RetardDat,
         qry_GsStand.ID AS GsStandID, qry_GsSchritt.ID AS GsSchrittID
FROM     qry_GLSitzung
         RIGHT JOIN (((((qry_Person
                         RIGHT JOIN qry_Geschaeft
                         ON qry_Person.ID = qry_Geschaeft.refPersonID)
                        LEFT JOIN qry_Region
                        ON qry_Geschaeft.refRegionID = qry_Region.ID)
                       LEFT JOIN qry_GsStand
                       ON qry_Geschaeft.refGsStandID = qry_GsStand.ID)
                      LEFT JOIN qry_GsSchritt
                      ON qry_Geschaeft.refGsschrittID = qry_GsSchritt.ID)
                     LEFT JOIN qry_Person AS qry_Person_1
                     ON qry_Geschaeft.refPersonID2 = qry_Person_1.ID)
         ON qry_GLSitzung.ID = qry_Geschaeft.refGLSitzungID
ORDER BY qry_Geschaeft.Nr;
VBA Spalte 1 = getAttByDealID([ID])
Code:
Public Function getAttByDealID(intDealID As Integer) As String
    Dim strQuery As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    'crate sql - query
    Set db = CurrentDb
    strQuery = "SELECT qry_Att.MyName " & _
                 "FROM qry_Att " & _
                      "INNER JOIN qry_RelAttBez " & _
                      "ON qry_Att.ID = qry_RelAttBez.refAttID " & _
                "WHERE qry_RelAttBez.refBezID=" & intDealID & " " & _
                  "AND qry_RelAttBez.refAttBezArtID=1;"
    Set rs = db.OpenRecordset(strQuery)
    Do While Not rs.EOF
        getAttByDealID = getAttByDealID & rs!MyName & "; "
        rs.MoveNext
    Loop
    If getAttByDealID <> "" Then
        getAttByDealID = Left(getAttByDealID, Len(getAttByDealID) - 2)
    End If
End Function
VBA Spalte 2 = getCustByDealID([ID])
Code:
Public Function getCustByDealID(DealNr As Integer) As String
    Dim strQuery As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
         
    'crate sql - query
    Set db = CurrentDb
    strQuery = "SELECT MyName FROM qry_ShowPerson " & _
                "WHERE refGeschaeftPersonPosID=1 " & _
                  "AND GeschaeftID= " & DealNr & ";"
    Set rs = db.OpenRecordset(strQuery)
    Do While Not rs.EOF
        getCustByDealID = getCustByDealID & rs!MyName & "; "
        rs.MoveNext
    Loop
    If getCustByDealID = "" Then
        getCustByDealID = "Unbekannte Täterschaft"
      Else
        getCustByDealID = Left(getCustByDealID, Len(getCustByDealID) - 2)
    End If
End Function
VBA Spalte 3 = getLinkByFK([FK];[qry_Geschaeft.myName];[qry_Geschaeft.Nr])
Code:
Public Function getLinkByFK(strFK As String, Optional strName As String _
                          , Optional strText As String) As String
    Dim strLink As String
         
    If Not IsNull(strFK) Then
        strLink = g_GeverLink & strCFK
        'Name ergänzen, sonfern vorhanden
        If strName <> "" Then
            strLink = strLink & "&name=" & strName
            strLink = Replace(strLink, "ä", "ä")
            strLink = Replace(strLink, "Ä", "Ä")
            strLink = Replace(strLink, "ö", "ö")
            strLink = Replace(strLink, "Ö", "Ö")
            strLink = Replace(strLink, "ü", "ü")
            strLink = Replace(strLink, "Ü", "Ü")
            strLink = Replace(strLink, "ß", "ß")
            strLink = Replace(strLink, ">", ">")
            strLink = Replace(strLink, "<", "<")
            strLink = Replace(strLink, Chr$(34), "")
        End If
        getLinkByFK = strLink
    End If
End Function
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
15. Aug 2012, 01:24
Rufname:
Wohnort: Saarbrücken

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Ein Performanceproblem der Abfrage könnte die die fehlende Indizierung der JOIN-Felder sein oder aber auch die Reihenfolge der JOINs
Code:
SELECT   qry_Person.Alias, qry_Geschaeft.refPersonID,
         qry_Person_1.Alias, qry_Region.MyName,
         qry_GsStand.MyName, qry_GsSchritt.MyName,
         qry_Geschaeft.ID, qry_Geschaeft.FK,
         qry_Geschaeft.Nr, qry_Geschaeft.MyName,
         qry_Geschaeft.GsSchrittDat, qry_Geschaeft.GsSchrittKommentar,
         qry_Geschaeft.EroeffnungDat, qry_Geschaeft.FKstatus,
         qry_Geschaeft.SummeCHF, qry_Geschaeft.Ind1,
         qry_Geschaeft.Ind2, qry_Geschaeft.Ind3,
         qry_Geschaeft.Ind4, qry_Geschaeft.Kommentar,
         qry_Geschaeft.AktualisierungDat, qry_GLSitzung.DatSitzung,
         DATEADD("m",6,[EroeffnungDat]) AS ZielDat,
         DATEADD("y",[RetardD],[ZielDat]) AS RetardDat,
         qry_GsStand.ID AS GsStandID, qry_GsSchritt.ID AS GsSchrittID
FROM     qry_GLSitzung
         RIGHT JOIN (((((qry_Person
                         RIGHT JOIN qry_Geschaeft
                         ON qry_Person.ID = qry_Geschaeft.refPersonID)
                        LEFT JOIN qry_Region
                        ON qry_Geschaeft.refRegionID = qry_Region.ID)
                       LEFT JOIN qry_GsStand
                       ON qry_Geschaeft.refGsStandID = qry_GsStand.ID)
                      LEFT JOIN qry_GsSchritt
                      ON qry_Geschaeft.refGsschrittID = qry_GsSchritt.ID)
                     LEFT JOIN qry_Person AS qry_Person_1
                     ON qry_Geschaeft.refPersonID2 = qry_Person_1.ID)
         ON qry_GLSitzung.ID = qry_Geschaeft.refGLSitzungID
ORDER BY qry_Geschaeft.Nr;
Dur fängst von der Sitzung an und endest bei Person, ziehst aber nur ein Feld aus Sitzung und das meiste aus Geschäft.

Wie sehen die anderen Queries aus? Da könnte auch noch Potential enthalten sein.

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Aug 2012, 01:38
Rufname:

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

apg am 15. Aug 2012 um 01:32 hat folgendes geschrieben:
Hallo Jürgen

Danke für den Input! Merkt man halt nicht, wenn man nur den Access-Klick-Assistenten braucht. Werde ich mal testen.

Die Anderen Queries filtern eigentlich nur die Historisierung raus, da die Ursprungstabelle mehrere Datensätze der selben GeschäftsID hat und daher nach dem gültigen Status gefiltert wird (in etwa Select * where vStat = 0)

Beim Testen waren es übrigens immer die VBA-Spalten (1 und 2) die Probleme machten. Der Rest der Query war zügig angezeigt.
=> Hättest Du evtl. für die Performance dort einen Input?

Merci & Gruss
APG

Noch der Nachtrag mit den Maximalwerten:

VBA Spalte 1 = getAttByDealID([ID])
- Normal 1-4, Max 34 Embarassed
VBA Spalte 2 = getCustByDealID([ID])
- Normal 1-3, Max?!
VBA Spalte 3 = getLinkByFK([FK];[qry_Geschaeft.myName];[qry_Geschaeft.Nr])
- Normal 1 Max 1
JMalberg
Es wird so langsam sinnig ...


Verfasst am:
15. Aug 2012, 11:03
Rufname:
Wohnort: Saarbrücken

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Function getLinkByFK kannst du komplett ersetzten mit
Code:
Public Function getLinkByFK(strFK As String, Optional strName As String _
                          , Optional strText As String) As String
    Dim strLink As String
         
    If Not IsNull(strFK) Then
        strLink = g_GeverLink & strCFK
        'Name ergänzen, sonfern vorhanden
        If strName <> "" Then
            strLink = strLink & "&name=" & strName
            'strLink = Replace(strLink, "ä", "ä")
            'strLink = Replace(strLink, "Ä", "Ä")
            'strLink = Replace(strLink, "ö", "ö")
            'strLink = Replace(strLink, "Ö", "Ö")
            'strLink = Replace(strLink, "ü", "ü")
            'strLink = Replace(strLink, "Ü", "Ü")
            'strLink = Replace(strLink, "ß", "ß")
            'strLink = Replace(strLink, ">", ">")
            'strLink = Replace(strLink, "<", "<")
            strLink = Replace(strLink, Chr$(34), "")
        End If
        getLinkByFK = strLink
    End If
End Function
In getAttByDealID und getCustByDealID kannst du mit gespeicherten Parameterabfragen arbeiten.
DIe Abfrage erhält einen Parameter den du dann im Code setzt und die Abfrage ausführst.
SQL etwa so :
Code:
PARAMETERS [myDealID] Long;
SELECT     qry_Att.MyName
FROM       qry_Att
           INNER JOIN qry_RelAttBez
           ON qry_Att.ID = qry_RelAttBez.refAttID
WHERE      qry_RelAttBez.refBezID=[myDealID]
AND        qry_RelAttBez.refAttBezArtID=1;
IDs sind für gewöhnlich Long, sollte das bei dir doch Integer sein dann bitte anpassen.
Code:
Public Function getAttByDealID(DealID As Long) As String
    Dim qdf As DAO.QueryDef
    Dim rs  As DAO.Recordset

    'crate sql - query
    Set qdf = CurrentDBC.QueryDefs("qryDerNamederAbfrage")
    qdf.Parameters![myDealID] = DealID
    Set rs = qdf.OpenRecordset
    Do While Not rs.EOF
        getAttByDealID = getAttByDealID & rs!MyName & "; "
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    qdf.Close
    Set qdf = Nothing
    If getAttByDealID <> "" Then
        getAttByDealID = Left(getAttByDealID, Len(getAttByDealID) - 2)
    End If
End Function
Verwende auch mal die Property CurrentDBC aus einem globalen Modul immer anstatt CurrentDB
Code:
Option Compare Database
Option Explicit

'Für CurrentDBC
Private mCurrentDB As DAO.Database

Public Property Get CurrentDBC(Optional Force As Boolean) As DAO.Database
'http://www.access-entwicklerbuch.de/2007/index.php?page=buch&bookpage=Kap_09/05.html
    If mCurrentDB Is Nothing Or Force Then
        Set mCurrentDB = CurrentDb
    End If
    Set CurrentDBC = mCurrentDB
End Property

_________________
Gruß
Jürgen

Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie!
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. Aug 2012, 17:16
Rufname:

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Hallo Jürgen

Vielen Dank, werde ich morgen gerne ausprobieren! Very Happy

Bei getLinkByFK verstehe ich es jedoch nicht so genau, denn m.E. ist das derselbe Code den ich habe?

Merci & Gruss
APG
MiLie
kein Office- VBA- Programmierer


Verfasst am:
15. Aug 2012, 17:53
Rufname: Micha
Wohnort: Chemnitz

AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Hallo,

nee, er hat replace auskommentiert da du ja ohnehin Ä durch Ä etc. ersetzt, das hat keinen Sinn.

schreibst du hier einen html-Code zusammen?

deine Recordsets beziehen sich auf Abfragen, genauso deine Hauptabfrage. Hier wäre zu schauen, ob du nicht auf Tabellenebene runter kannst (insbesondere bei den Recordsets). Das könnte schneller werden. Die nötige Fremd-ID für deine "Namestabellen" (die wo dein Text enthalten ist) könntest du dir bereits in der Hauptabfrage ziehen und an die Funktion fertig übergeben. Dann wirds bestimmt schneller. Das es übrigens zwei solche Felder sind, ist neu. Pro Datensatz der Hauptabfrage zwei komplette Tabellen durchlaufen, kann schon dauern. Du verwendest zudem aber gejointe Abfragen, das wird dauern.
Hier wäre überlegenswert die Rorcordsets offen zu lassen.

_________________
Viele Grüße

Micha

Schreibfehler die Ihr findet, könnt Ihr behalten
apg
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Aug 2012, 11:24
Rufname:


AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte - AW: Datenblattansicht (Auto)Filter bei VBA berechneten Werte

Nach oben
       Version: Office 2007

Vielen Dank für Eure Hilef und Hinweise! Nach reiflichem Testen komme ich zu Schluss, dass für meine Bedürfnisse die Abfrage mit folgenden Änderungen befriedigend läuft:

- den Link bilde ich nun direk in der SQL-Query
- die anderen beiden Spalten habe ich mit einer vorkompilierten Abfrage gelöst.

Ich bin überzeugt, dass man mit grossem Feilen noch etwas herausholen könnte. Aber leider fehlt mir für den grossen Umbau die Zeit.... Twisted Evil

Vielen Dank allen, die Beiträge geschrieben haben und geniesst noch etwas den Sommer Very Happy
apg
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Recordset Filter 1 Gast 5164 03. Aug 2006, 08:40
SGast Recordset Filter
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage sollte mit Werten aus Tabelle vergleichen 6 fhs12557 1213 27. Jul 2006, 15:06
fhs12557 Abfrage sollte mit Werten aus Tabelle vergleichen
Keine neuen Beiträge Access Tabellen & Abfragen: Addiere von zwei Werten aus zwei Tabellen 2 lodda 674 03. Jun 2006, 09:26
lodda Addiere von zwei Werten aus zwei Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit vorgegebenen Werten einer Tabelle 7 kaick 891 30. Mai 2006, 19:00
kaick Abfrage mit vorgegebenen Werten einer Tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: Filter für Anzeigeformular 2 chris1337 687 10. Mai 2006, 08:27
chris1337 Filter für Anzeigeformular
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit variablem Filter A2K 5 Gast 983 18. Apr 2006, 11:52
Gast Abfrage mit variablem Filter A2K
Keine neuen Beiträge Access Tabellen & Abfragen: Stichwort Filter Abfrage 3 AIGE 5749 30. Jan 2006, 19:14
accessmichel Stichwort Filter Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen als filter für Tabelle in Formular ausgeben 0 artecnet 1012 27. Jan 2006, 10:27
artecnet Mehrere Abfragen als filter für Tabelle in Formular ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Runden in einem berechneten Feld 1 Heribert 997 28. Dez 2005, 16:52
KirstenS Runden in einem berechneten Feld
Keine neuen Beiträge Access Tabellen & Abfragen: Filter mit Hilfe des Datums 1 Highway 578 16. Dez 2005, 13:17
Willi Wipp Filter mit Hilfe des Datums
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl von Werten in einer Access-Abfrage 3 TobiasM 994 10. Dez 2005, 21:30
jens05 Anzahl von Werten in einer Access-Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Anzeige, welcher Filter gesetzt ist 6 Guybrush junior 982 22. Nov 2005, 17:12
Guybrush junior Anzeige, welcher Filter gesetzt ist
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum