Office: (Office 2003) SQLListe

Helfe beim Thema SQLListe in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo. Ich habe mich gestern einen Tag lang mit der SQLListe von Reinhard Kraasch (http://web.archive.org/web/200605191...r_SQL_aufbauen) beschäftigt... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von WEISSI, 25. Dezember 2010.

  1. SQLListe


    Hallo.

    Ich habe mich gestern einen Tag lang mit der SQLListe von Reinhard Kraasch (http://web.archive.org/web/200605191...r_SQL_aufbauen) beschäftigt und auch verschiedene Posts im Forum und diverse Internetseiten (FAQ 5.18; Gruppieren von Memo-/Textfeldern) gelesen.
    Leider kann ich mein Problem selbst nicht lösen und bitte daher um Eure Hilfe.

    Mein Problem:
    Die Ausgabe der Abfrage "qry_info" enthält verschiedene chinesische Schriftzeichen (zB. ᮐຘ惯惯ꡜꡜꗜ惭꣈).


    Tabellenaufbau wie folgt:

    tbl_Staat
    ID_Staat---Staat
    1----------Kalifornien
    2----------Nevada


    tbl_Ziel
    ID_Ziel-----Ziel--------------------ID_Staat-------ID_Zuordnung
    1------------Muir Woods------------1---------------2
    2------------Yosemite---------------1---------------2
    3------------San Francisco--------1---------------1
    4------------Sequia NP-------------1---------------2
    5------------Las Vegas-------------2---------------1
    6------------Zion NP----------------2---------------2
    7------------Paradise---------------2---------------1


    tbl_Zuordnung
    ID_Zuordnung---------Zuordnung
    1------------------------------STÄDTE
    2------------------------------PARKS



    Die Abfrage sollte nachfolgendes Ergebnis ausgeben, welches noch zusätzlich Html Code beinhaltet. Das Html habe ich hier aufgrund der Übersichtlichkeit nicht dargestellt. In der beiliegenden DB ist zu sehen, was ich damit meine.


    qry_info
    Staat Zuord_Ziele
    Kalifornien STÄDTE: San Francisco; PARKS: Muir Woods, Yosemite, Sequia NP;
    Nevada STÄDTE: Las Vegas, Paradise; PARKS: Zion NP;



    Was mache ich falsch?

    Kann mir bitte jemand einen Tip geben, ich weiß wirklich nicht mehr weiter.
    Besten Dank schon im voraus.

    Gruß
    weissi

    Eine BeisspielDatenbank habe ich angehängt.

    :)
     
  2. Such hier im Forum nach "chinesische Schriftzeichen" oder so ähnlich, mit dem Problem stehst Du nicht allein (auch ein Trost).
     
    achtelpetit, 27. Dezember 2010
    #2
  3. Danke. Ich habe die Suchfunktion einige Male bemüht.

    Anhand der Antworten in den Threads gibt es eine Lösung dieses Problem zu umgehen. Nur leider habe ich es bis jetzt nicht geschafft, sodass ich hier um Hilfe bitte.

    Vielleicht hat ja jemand anderes noch eine Idee dazu.

    Vielen Dank und Grüße aus dem Weinviertel.
     
  4. SQLListe

    Welche Versuche hast Du denn bisher gemacht?
    "qry_info_hilfs1_2" sieht mir verdächtig aus, da wird viel Text gruppiert.
     
    achtelpetit, 27. Dezember 2010
    #4
  5. Ja. In "qry_info_hilfs1_2" liegt der Hund begraben.
    Mit der Gruppierung dieser Abfrage entstehen die Hieroglyphen in "qry_info".
    Ich habe versucht nach FAQ 5.18 das Problem mit ErsterWert bzw Ausdruck zu umgehen. Leider erfolglos, da bei ErsterWert der Text auf 255 Zeichen gekürzt wird.
    Gibt es überhaupt eine Möglichkeit mein Problem zu lösen? Ich weiß leider nicht mehr weiter.
     
  6. SQLListe ist eine aufwändige Funktion innerhalb einer Abfrage, immerhin erfolgen Recordseterstellung und Stringzusammensetzung pro Datensatz, und einige laufzeitoptimierende Elemente wurden nicht berücksichtigt.
    Daher sehe ich es als kritisch an, wenn Du eine solche Funktion geschachtelt (in einer Abfrage und dann noch einmal in einer darauf aufbauenden Abfrage) verwendest.

    Ansätze:
    - Erstellung eines Derivates der Funktion, um die Stringzusammenfassung nur einmalig und möglichst spät (für Ausgabe) vornehmen zu müssen.
    - Erst nur Notwendiges gruppieren und erst danach Inhalte (Texte) hinzuziehen.
     
  7. Initialisiere den Rückgabewert der Function mit " "
    und wähle Variant als Variablentyp.
    Führ hier zum Erfolg und macht den Code robuster.

    Code:
     
  8. SQLListe

    Danke für deinen Lösungsvorschlag Kama.
    Ich habe im Modul/Funktion den Variabletyp auf Variant ausgebessert.
    Was meinst du mit "initialisiere den Rückgabewert der Function mit " " ?

    Danke auch an ebs17.
    Aufgrund meiner fehlenden Kenntnisse kann ich den Code nicht abwandeln.
     
  9. Na so wie es Kama vorgezeigt hat.
    Initialisieren = Wert setzen, auch wenn es nur ein Space ist *wink.gif*

    Gruß

    LL
     
  10. Danke. Danke. Vielen Dank.

    Leider sind auch nach dieser Änderung die chinesischen Schriftzeichen vorhanden.
     
  11. Hallo
    Deine Datenbank zeigt bei mir keine chinesichen Schriftzeichen! (Access 2003)
    Allerdings unter access 2010 auch dann nicht wenn ich nicht =" " setze.
    Das Verhalten hängt auf jeden Fall mit dem Inhalt deiner Variablen zusammen und/oder mit deine
     
  12. Schade.
    Bei mir sieht das anders aus. Siehe auch beiliegenden screenshot.
     
  13. SQLListe

    achtelpetit, 27. Dezember 2010
    #13
  14. Ja. Dieser Beitrag kommt mir bekannt vor. Ich habe diesen auch gesehen. Nachdem ich aufgrund fehlender Kenntnisse diesen aber für mich nicht anwenden kann, hilft dieser mir auch nicht weiter.
    Da werde ich wohl Access2010 installieren müssen.
     
  15. Ohne Verständnis für die Funktion "SQL-Liste" wird Dir Acc2010 auch nix nützen.
    Ich hab Dir mal ein Beispiel mit einer Temp-Tabelle gebastelt und hier angehängt.
    Wohlgemerkt: das Beispiel ist nicht für den Produktionseinsatz tauglich, dafür ist zuviel Gefrickel drin. Als Demonstration mag's reichen.

    Die ganze HTML-Geschichte würde ich unbedingt in eine Tabelle packen, nicht in der Abfrage "fest verdrahten". Da blickt kein Mensch durch und eine nachträgliche Änderung wird zum Glücksspiel.
    Wenn's meine Aufgabe wäre, würd' ich für ein vernünftiges CMS auf meiner Website sorgen und das ganze HTML aus der Datenbank rausschmeißen.
     
    achtelpetit, 27. Dezember 2010
    #15
Thema:

SQLListe

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden