2016-04-20 7 views
0

Ich habe einen Alias ​​in meiner Access SQL-Abfrage erstellt, er zeigt eine gültige Spalte, wenn ich meine Abfrage ausführe, aber wenn ich dieses Feld in meinem Bericht verwende, Es wird wieder auf den ursprünglichen Namen und Wert zurückgesetzt. Wie führe ich den Bericht dazu, den Wert des Alias, der in meinem Datensatzstapel zurückgegeben wird, einzuholen? Muss ich dies über VBA tun?Wie verwende ich einen Alias ​​in meinem Access-Bericht

Dies ist die Abfrage, die Record Source meinen Bericht lautet:

SELECT 
    ISO_ID.ISOID, 
    ISO_Stats.TransactionCount, 
    ISO_Stats.TerminalCount, 
    ISO_Stats.MonthEnd, 
    m2.TerminalCount, 
    m2.TransactionCount, 
    m2.MonthEnd, 
    m3.TerminalCount, 
    m3.TransactionCount, 
    m3.MonthEnd 
FROM 
    (((ISO_ID 
    INNER JOIN ISO_Stats AS m2 
    ON ISO_ID.[ISOID] = m2.[ISOID]) 
    INNER JOIN ISO_Stats 
    ON (ISO_ID.ISOID = ISO_Stats.ISOID) AND (ISO_ID.InstNbr = ISO_Stats.InstNbr)) 
    INNER JOIN ISO_Stats AS m3 
    ON ISO_ID.[ISOID] = m3.[ISOID]) 
WHERE 
     (((ISO_Stats.MonthEnd)=DateSerial(Year(Date()),Month(Date()),0)) 
    AND ((m2.MonthEnd)=DateSerial(Year(Date()),Month(Date())-1,0)) 
    AND ((m3.MonthEnd)=DateSerial(Year(Date()),Month(Date())-2,0)) 
    AND ((ISO_ID.Cancelled)<>"Y")) 
ORDER BY ISO_ID.ISOName; 
+0

Ja. Ich gehe in die Berichtseigenschaften und komme von der Datenquelle zur Abfrage. Es wird als verfügbares Feld angezeigt und in der Entwurfsansicht korrekt angezeigt. Wenn ich den Bericht jedoch anzeigen, zeigt es den Wert des ursprünglichen Felds an. Wenn ich zurück in die Entwurfsansicht gehe, spiegelt die Datenquelle für dieses Etikett das ursprüngliche Feld wieder. –

+0

Eigentlich drei, die ich erstellt habe, mit inneren Joins, die ich hätte erwähnen sollen, und alle drei verhalten sich genauso. –

+0

SELECT ISO_ID.ISOID, ISO_Stats.TransactionCount, ISO_Stats.TerminalCount, ISO_Stats.MonthEnd, m2.TerminalCount, m2.TransactionCount, m2.MonthEnd, m3.TerminalCount, m3.TransactionCount, m3.MonthEnd –

Antwort

1

SELECT der Ihre Anfrage Spaltenliste enthält doppelte Spaltennamen. Verwenden Sie Aliasnamen, so dass die Spaltennamen in dem Abfrageergebnis unterscheiden:

SELECT 
    ISO_ID.ISOID, 
    ISO_Stats.TransactionCount AS [TransactionCount_i], 
    ISO_Stats.TerminalCount AS [TerminalCount_i], 
    ISO_Stats.MonthEnd AS [MonthEnd_i], 
    m2.TerminalCount AS [TerminalCount_2], 
    m2.TransactionCount AS [TransactionCount_2], 
    m2.MonthEnd AS [MonthEnd_2], 
    m3.TerminalCount AS [TerminalCount_3], 
    m3.TransactionCount AS [TransactionCount_3], 
    m3.MonthEnd AS [MonthEnd_3] 

Sie den Bericht müssen revidieren diese aliased Spaltennamen zu verwenden, aber dann sollten Sie in der Lage sein, den Berichts der Verwirrung zu vermeiden, wenn Umgang mit doppelte Spaltennamen.

+0

Perfekt! Funktioniert super. –

Verwandte Themen