Imports GrapeCity.ActiveReports Imports GrapeCity.ActiveReports.Document Public Class subrptEinzelauswertung Public Rechnungssumme As Double = 0 Public Vorkostensumme As Double = 0 Public MargeSumme As Double = 0 Public AnzahlSumme As Double = 0 Public AnzahlProz As Double = 0 Public Transporte As Double = 0 Public Handlings As Double = 0 Public TransporteAusgaben As Double = 0 Public HandlingsAusgaben As Double = 0 Public TransporteEinnahmen As Double = 0 Public HandlingsEinnahmen As Double = 0 Public c As Integer = 0 'Counter Private Sub Detail_Format(sender As Object, e As EventArgs) Handles Detail.Format txtPosNr.Text = Fields.Item("atr_frachtpos").Value txtAuftraggeber.Text = Fields.Item("atr_auftr_firma").Value txtEinnahmen.Text = CDbl(Fields.Item("Rechnungen").Value).ToString("c2") ' txtAusgaben.Text = CDbl((Fields.Item("Vorkosten_Vorzeichen").Value)).ToString("c2") txtAusgaben.Text = CDbl(CleanValue(Fields, "Vorkosten", "Integer")).ToString("c2") txtGewinn.Text = (CDbl(Fields.Item("Rechnungen").Value) - CDbl(CleanValue(Fields, "Vorkosten", "Integer"))).ToString("c2") 'CDbl(Fields.Item("Vorkosten_Vorzeichen").Value)).ToString("c2") 'CDbl(Fields.Item("Marge").Value).ToString("c2") Dim i As Double = CDbl((100 * txtGewinn.Text) / txtEinnahmen.Text).ToString("N2") txtMarge.Text = CDbl((100 * txtGewinn.Text) / txtEinnahmen.Text).ToString("N2") & "%" txtFraechter.Text = VERAG_PROG_ALLGEMEIN.SQL.checkNullStr(Fields.Item("Frächter").Value) txtLeistung.Text = Fields.Item("ShortAuftragsart").Value If c Mod 2 = 0 Then txtPosNr.BackColor = Color.Transparent txtAuftraggeber.BackColor = Color.Transparent txtEinnahmen.BackColor = Color.Transparent txtAusgaben.BackColor = Color.Transparent txtGewinn.BackColor = Color.Transparent txtMarge.BackColor = Color.Transparent txtFraechter.BackColor = Color.Transparent txtLeistung.BackColor = Color.Transparent Else txtPosNr.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtAuftraggeber.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtEinnahmen.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtAusgaben.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtGewinn.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtMarge.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtFraechter.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtLeistung.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) End If c = c + 1 Rechnungssumme = Rechnungssumme + txtEinnahmen.Text Vorkostensumme = Vorkostensumme + txtAusgaben.Text MargeSumme = MargeSumme + txtGewinn.Text AnzahlSumme = c AnzahlProz = AnzahlProz + i 'If Fields.Item("ShortAuftragsart").Value = "TRANSP." Then ' Transporte = Transporte + 1 ' TransporteEinnahmen = TransporteEinnahmen + CDbl(Fields.Item("Rechnungen").Value).ToString("c2") ' TransporteAusgaben = TransporteAusgaben + CDbl(Fields.Item("Vorkosten").Value).ToString("c2") 'ElseIf Fields.Item("ShortAuftragsart").Value = "HANDLING" Then ' Handlings = Handlings + 1 ' HandlingsEinnahmen = HandlingsEinnahmen + CDbl(Fields.Item("Rechnungen").Value).ToString("c2") ' HandlingsAusgaben = HandlingsAusgaben + CDbl(Fields.Item("Vorkosten").Value).ToString("c2") 'End If If Fields.Item("ShortAuftragsart").Value = "TRANSP." Then Transporte = Transporte + 1 TransporteEinnahmen = TransporteEinnahmen + CDbl(Fields.Item("Rechnungen").Value).ToString("c2") TransporteAusgaben = TransporteAusgaben + CDbl(CleanValue(Fields, "Vorkosten", "Integer")).ToString("c2") 'CDbl(Fields.Item("Vorkosten_Vorzeichen").Value).ToString("c2") ElseIf Fields.Item("ShortAuftragsart").Value = "HANDLING" Then Handlings = Handlings + 1 HandlingsEinnahmen = HandlingsEinnahmen + CDbl(Fields.Item("Rechnungen").Value).ToString("c2") HandlingsAusgaben = HandlingsAusgaben + CDbl(CleanValue(Fields, "Vorkosten", "Integer")).ToString("c2") 'CDbl(Fields.Item("Vorkosten_Vorzeichen").Value).ToString("c2") End If End Sub Function CleanString(StringIn As String) If StringIn.Length > 0 Then Return StringIn Else Return 0 End If End Function Function CleanValue(FC As GrapeCity.ActiveReports.Data.FieldCollection, FI As String, ReturnArt As String) If FC.Item(FI) Is Nothing Then Select Case ReturnArt Case "Integer" Return 0 Case "String" Return "" End Select Else Return FC.Item(FI).Value End If End Function Private Sub subrptEinzelauswertung_ReportStart(sender As Object, e As EventArgs) Handles Me.ReportStart DataSource = frmAuswertung.dt End Sub Private Sub ReportFooter1_Format(sender As Object, e As EventArgs) Handles ReportFooter1.Format txtMargeSumme.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtRechnungenSumme.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtVorkostenSumme.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtAnzahlSumme.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) TxtSumme.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtMargeSummeTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtRechnungenSummeTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtVorkostenSummeTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtAnzahlSummeTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtMargeProzSchnittTransporte.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) txtMargeSumme.Text = MargeSumme.ToString("c2") txtRechnungenSumme.Text = Rechnungssumme.ToString("c2") txtVorkostenSumme.Text = Vorkostensumme.ToString("c2") txtAnzahlSumme.Text = AnzahlSumme.ToString txtMargeSchnitt.Text = (MargeSumme / c).ToString("c2") txtRechnungenSchnitt.Text = (Rechnungssumme / c).ToString("c2") txtVorkostenSchnitt.Text = (Vorkostensumme / c).ToString("c2") txtMargeProzSchnitt.Text = (txtMargeSchnitt.Text * 100 / txtRechnungenSchnitt.Text).ToString("n2") & "%" txtAnzahlSummeTransporte.Text = Transporte txtRechnungenSummeTransporte.Text = TransporteEinnahmen.ToString("c2") txtVorkostenSummeTransporte.Text = TransporteAusgaben.ToString("c2") txtMargeSummeTransporte.Text = (TransporteEinnahmen - TransporteAusgaben).ToString("c2") txtMargeProzSchnittTransporte.Text = (txtMargeSummeTransporte.Text * 100 / TransporteEinnahmen).ToString("n2") & "%" txtAnzahlSummeHandlings.Text = Handlings txtRechnungenSummeHandlings.Text = HandlingsEinnahmen.ToString("c2") txtVorkostenSummeHandlings.Text = HandlingsAusgaben.ToString("c2") txtMargeSummeHandlings.Text = (HandlingsEinnahmen - HandlingsAusgaben).ToString("c2") txtMargeProzSchnittHandlings.Text = "" '(txtMargeSummeHandlings.Text * 100 / HandlingsEinnahmen).ToString("n2") & "%" End Sub End Class