Side by Side und DataSource
Manuel Marhold
Hi..Ich habe folgendes:
1 Query, die mir Aufträge zurück gibt, sortiert nach Stellplatz (UDF) und Artikelnummer, gefilter anhand des Lieferdatums (DocDueDate).
Ich möchte im Report das ganz wie folgt aufbauen:
Stellplatz A
_Artikel 1 auf SP A
__Dokument I mit A 1 auf SP A | Dokument II mit A 1 auf SP A | Dokument III mit A 1 auf SP A
_Artikel 2 auf SP A
__Dokument I mit A 2 auf SP A | Dokument II mit A 2 auf SP A | Dokument III mit A 2 auf SP A
__Dokument IV mit A 2 auf SP A | Dokument V mit A 2 auf SP A
Stellplatz B
....
usw.
Wie bekomme ich das hin?
Ich habe das ganze schon in 2 Queries aufgeteilt, aber dann bekomme ich bei Side-by-Side zu viel Datensätze zurück.
Für das Side-by-Side benötigt man, Anzahl der Spalten an Queries, in meinem Fall 3, aber das kann ich nicht machen. Gibt es sonst noch eine Möglichkeit?
Gruß
Manuel
Philipp Knecht
Hi ManuelBin mir ziemlich sicher dass wir das lösen können.
Kannst du noch kurz präzisieren was in der ersten Spalte, zweiten Spalte, dritten Spalte gedruckt werden soll bzw. ob es immer drei Spalten sind?
hth
Manuel Marhold
Hi Philipp,klar.
Ich habe eine Query, die mir eine Liste aller Artikel in Aufträgen zurückgeben soll, gruppiert nach Stellplatz (aus dem Artikelstamm ein UDF) und Artikelnummer. Die Query ist:
SELECT
D.DocNum,
D.CardCode,
I.U_StellPlatz,
L.ItemCode,
L.Dscription,
L.unitMsr,
I.OnHand-I.IsCommited+I.OnOrder AS Bestand,
@DocDueDate,
@TourNr,
I.U_StellPlatz + L.ItemCode
FROM ORDR D INNER JOIN RDR1 L ON D.DocEntry=L.DocEntry INNER JOIN OITM I ON I.ItemCode=L.ItemCode
WHERE DocDueDate=CONVERT(datetime,@DocDueDate) AND U_tournr=@TourNr
ORDER BY I.U_Stellplatz
Das ganze ist eine Function im SQL-Server an den die Werte "@DocDueDate" und "@TourNr" übergeben werden. (Diese werden vom Kunden eingegeben).
Nun soll das ganze im Ausdruck wie folgt aussehen:
[Kopf]
@TourNr, @DocDueDate
[/Kopf]
[Detail]
Stellplatz
_ ItemCode + Dscription + unitMsr + Bestand
__ DocNum + CardCode | DocNum + CardCode | DocNum + CardCode
[/Detail]
Es sollen maximal 3 Spalten nebeneinader stehen. Es kann vorkommen, dass nicht alle 3 gefüllt werden. Es soll erst eine Zeile mit den drei Spalten gefüllt sein, bevor eine neue Zeile angefangen wird.
Es ist also immer das gleiche Feld das in die Spalten geschrieben werden muss, allerdings mit fortlaufend mit dem AdvancedDataband.
Ich hoffe das reicht an Infos, wenn nicht, melden..
Gruß
Manuel
Philipp Knecht
Hi Manueleventuell nützt dir
http://www.coresuite.ch/index.php?id=48&L=&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=1206
weiter. (aus der FAQ)
hth
Manuel Marhold
Hi Philipp,habe ich mir schon angeschaut, leider nicht, da dort einfach fester Werte vorgegeben sind. Den Aufbau eines Side-by-Side habe ich (glaube ich) verstanden, aber das mit den Daten ist das Problem.
Wenn ich in den 3 Spalten nicht die gleichen Felder des AdvacedDataBand auslesen müsste, würde das glaube ich auch klappen, denn, so wie ich das heute schonmal hatte, hat er in alle drei Spalten den gleichen Wert geschrieben.. und in der nächsten Zeilen wieder in jeden Spalten das gleiche, aber die nächste Zeile aus dem AdvancedDataBand.
gruß
Manuel
Philipp Knecht
Hi ManuelGenau deshalb habe ich mit MOD(xy) Funktion auf dem DataBand gefiltert. (Ich glaub im Visible Property)
hth
Manuel Marhold
hi Philipp,sry, das hatte ich nicht gesehen..
hmm okay, das geht, musste noch mit einer Variable arbeiten, weil der mir das übergeordnete ADB immer
Danke!!
Manuel
0
Please sign in to leave a comment.
Comments
0 comments