Announcement

Collapse
No announcement yet.

Tabellen zusammenführen mit Union und sortieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabellen zusammenführen mit Union und sortieren

    Hallo Spezialisten,

    ich komme nicht weiter.
    Die Tabellen werden korrekt zusammengeführt, jedoch wird die gesamte Tabelle nach der letzten ORDER-Anweisung (Nachname) sortiert. Ich möchte aber die beiden Tabellen unterschiedlich sortiert zusammenführen.
    Hat da jemand eine Lösung?
    Ich übergebe folgende Auswahlabfrage per VBA:

    Dim DB As Database
    Dim Qry As QueryDef
    Dim Strsql1 As String

    Strsql1 = " SELECT Qry_Tabelle1.Vorname, Qry_Tabelle1.Nachname“
    Strsql1 = Strsql1 & " FROM [Qry_Tabelle1] "
    Strsql1 = Strsql1 & " ORDER BY Vorname "
    Strsql1 = Strsql1 & " UNION
    Strsql1 = Strsql1 & " SELECT Qry_ Tabelle2.Vorname, Qry_ Tabelle2.Nachname,
    Strsql1 = Strsql1 & " FROM [Qry_Tabelle2] "
    Strsql1 = Strsql1 & " ORDER BY Nachname ;"

    Set DB = CurrentDb()
    Set Qry = DB.QueryDefs("Qry_Tabelle3")
    Qry.SQL = Strsql1

    Set DB = Nothing
    Set Qry = Nothing

  • #2
    Hallo,

    da ein UNION immer auch auch ein DISTINCT bedeutet, macht ein Sortieren VOR dem Zusammenführen i.A. wenig Sinn. Du solltest eher darüber Nachdenken eine sinnvolle gemeinsame Sortierung zu finden.

    z.B.
    [highlight=sql]
    select 1 sortf, feld1, feld2
    from tabelle1
    UNION
    select 2 sortf, feld1, feld2
    from tabelle2
    order by 1, 2
    [/highlight]
    Sortiert das Ergebniswie folgt: zuerst alle DS aus Tabelle 1 sortiert nach feld1, dann alle DS aus Tabelle2 sortiert nach feld1.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Danke Falk Prüfer, werde es gleich ausprobieren.
      oskarfranz

      Comment

      Working...
      X