Ich verwende SAP CR für VS 2010 in Cis. Ich habe fünf Tabellen und ich verbinde sie mit der folgenden Abfrage:SAP Crystal Reports für VS 2010. Ändern Sie die Abfrage zur Laufzeit
query = "SELECT Items.AccessionNo, Items.Name, Items.LocalName, Items.Usage, Items.Province, Items.District, Items.VillTown, Items.EthnicCommunity, Arts.Name, Items.PurchasedDonated, Items.PurchasedFrom, Items.YearOfCollection, Items.Material, Items.Height, Items.Width, Items.Length, Items.Circumference, Items.Diameter, Items.Color, Items. Alter, Items.Weight, Items.PurchasedValue, Items.Rare, Items.LivingDyingTrad, Items.ManufacturingProcess, Items.PlaceOfManufacturing, Items.ConditionReport, Items.Recommandations, Items.DateOfAddition, Items.Placement, Donators.Name, Collectors.Name, Placement.Name FROM Elemente INNER JOIN Kunst ON Items.ArtId = Arts.ArtId INNER JOIN Donatoren ON Items.DonatorId = Donators.id INNER JOIN Collectors ON Items.CollectorId = Collectors.id INNER JOIN Platzierung ON Items.PlacementId = Pla zement.id WHERE Artikel.id = "+ Artikel-ID;
Das Problem besteht darin, dass der Bericht noch mehrere Ergebnisse mit der bereits eingebetteten Abfrage zum Zeitpunkt des Entwurfs zeigt.
ich den folgenden Code bin mit der obigen Abfrage
SqlCommand cmd = new SqlCommand(query, dbconn.conn);
if (dbconn.conn.State == ConnectionState.Closed)
{
dbconn.conn.Open();
}
SqlDataAdapter Datadpt = new SqlDataAdapter(cmd);
DataSet dtset = new DataSet("items");
Datadpt.Fill(dtset);
//rep is the Report document object already defined
rep.Load(@"..\..\Reports\CRItem.rpt");
rep.SetDataSource(dtset);
CRViewer.ReportSource = rep;
if (dbconn.conn.State == ConnectionState.Open)
{
dbconn.conn.Close();
}
this.CRViewer.RefreshReport();
Irgendwelche Vorschläge zu übergeben?
Haben die Ergebnisse alle den gleichen 'Items.id' Wert? –
Nein Bericht zeigt alle Zeilen in der Datenbank an. Es filtert die Daten nicht nach einer Abfrage. – user1300054
macht 'this.CRViewer.Refresh(); 'etwas anderes als' this.CRViewer.RefreshReport(); '? –