Report erstellen

Hallo an die Profis,
ich kämpfe schon seit Tagen an einem Problem. Ich habe in VB.NET (2010) ein Programm entwickelt wo man Angebote, Aufträge, Rechnungen etc. erfassen und bearbeiten kann. Wichtig ist natürlich dann der Ausdruck. Aus diesem Grund habe ich mich mal die Testversion von List&Labe (Version 15) heruntergeladen und getestet.

Leider schaffe ich es nicht die Daten, die sind einer SQL-DAtenbank abgelegt, an den Report zu übergeben. Lt. Beschreibung (Handbuch von LL) sollen z.B. die Kopfdaten wie zum Beispiel:

  • Kundennummer
  • Anrede
  • Firmenname
  • Adresse
  • PLZ & Ort

mittels Variablen übergeben werden.

ListLabel1.Variables.ADD(“Kundennummer”,var_kundennummer)
ListLabel1.Variables.ADD(“Anrede”,var_anrede)
usw…

listlabel1.design

Der Designer wird zwar geöffnet, aber die übergebenen Variablen werde nicht angezeigt.

Kann mir eventuell wer helfen, mittels eines einfachen Beispiels einen Report (zb: Rechnung) zu erstellen. Hilfreich wäre gleich der VB.NET 2010 Source.

Besten DANK im voraus!
mfg
Jürgen

Hallo,

das Problem ist, dass die Design-Methode verwendet wird. Diese funktioniert aber nur, wenn man auch das Databinding (.DataSource oder .SetDataBinding) von LL verwendet.
Aber ich habe gelesen, dass die Daten in einer SQL-Datenbank vorliegen. Daher könnte man hier als Datenquelle den Dataprovider ‘SqlConnectionDataProvider’ von LL bemühen und das sehr bequeme Databinding verwenden ;-).

Pseudo-Code:

// build connection string to database
string connectionString = string.Empty;
if (string.IsNullOrEmpty(userName))
{
connectionString = string.Format(“Data Source={0}; Database={1}; Integrated
Security=true;”, sqlServer, sqlDatabase); // use windows authentification
}
else
{
connectionString = string.Format(“Data Source={0}; Database={1}; Integrated Security=false; User ID={2}; Password={3};”, sqlServer, sqlDatabase, userName, userPassword); // use sql-server authentification
}

SqlConnectionDataProvider sqlDataprovider = new SqlConnectionDataProvider(sqlConnection);
LL.DataSource = sqlDataprovider;
LL.Design();

Aber dazu gibt es auch ein paar Infos in der .Net Komponentenhilfe. Viel Erfolg!

Hallo,

zuerstmal vielen DANK für die Rückmeldung bzw. Information. Mit dieser Lösung bekomme ich zwar die Tabellen von der DAtenbank in der Kategorie “Felder” angezeigt, aber die Variablen (siehe Beispiel: Kundennummer, Anrede) wurden wieder nicht übernommen.

Hier mein Test-Programmcode in VB.NET 2010

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim var_kundennummer = “1111111”
Dim var_anrede = “Herr”
Dim sqldataprovider As SqlConnectionDataProvider
Dim cnn As New SqlConnection
cnn = ClsDB.Allgemein.DB_connect(DBUserID, DBPw)
sqldataprovider = New SqlConnectionDataProvider(cnn)

    ' ListLabel1.AutoMasterMode = LlAutoMasterMode.AsVariables
    ListLabel1.Variables.Add("ILS.Kundennummer", var_kundennummer, LlFieldType.Text)
    ListLabel1.Variables.Add("ILS.Anrede", var_anrede, LlFieldType.Text)

    
    ListLabel1.DataSource = sqldataprovider
    ListLabel1.Design()
End Sub

Kann mit bitte wer einen Tipp geben. Ich habe bis jetzt immer den CrystalReports verwendet. Mit diesem Tool hatte ich eigentlich nie Probleme. Leider funktioniert die aktuelle Version von Crystal Reports unter VB.NET 2010 nocht nicht wirklich stabil.

Besten DANK!

mfg
Puhm Jürgen

Die Variablen müssen im AutoDefineNewPage-Event übergeben werden. Gibt es einen Artikel in der Knowledgebase zu, oder im .NET Tutorial unserer Online Docu.

Super - Besten DANK. Es funktioniert!!!