Zum Inhalt springen

[VB2008]Zellenaddition in DataGridView


Bastiman

Empfohlene Beiträge

Hallo!

Ich bin Anfänger - zwar kein blutiger mehr, aber immernoch Anfänger - mache eine Ausbildung zum Fachinformatiker FR ANW und bin momentan dabei, eine Portoverwaltung zu programmieren.

Bin auch relativ bald fertig damit, bloß soll das Programm nun noch jeweils 2 (SQL Datenbank gebundene)Zellen addieren und in einer (nicht Datenbank gebundenen) extra Spalte anzeigen.

Ich bekomme jedoch einen Fehler "Die Spalte [gesWert] wurde nicht gefunden."

Meinen Quellcode habe ich hier mal angehängt:

Public Class frmMain

    Dim gesamtWert As String = "N/A"

    Dim gesamtAnzahl As String = "N/A"

    Private FilterWert As String = "ISNULL(gesWert,-1) >= 0"

    Private FilterAnzahl As String = "ISNULL(gesAnzahl,-1) >= 0"

    Private Const ColumnNameWert As String = "gesWert"

    Private Const ColumnNameAnzahl As String = "gesAnzahl"

    Private DataTable As New DataTable


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Crm_PortoTableAdapter.Fill(_NIS_CRM_DBDataSet.crm_Porto)

        TextBox1.Text = CStr(Crm_PortoDataGridView.RowCount)

        TextBox2.Text = gesamtAnzahl

        TextBox3.Text = gesamtWert


        'Funktion für Addieren

        gesWertAddieren()

        gesAnzahlAddieren()


    End Sub


    Private Sub Crm_PortoBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        With Me

            .Validate()

            .Crm_PortoBindingSource.EndEdit()

            .TableAdapterManager.UpdateAll(Me._NIS_CRM_DBDataSet)

            .Crm_PortoTableAdapter.Fill(_NIS_CRM_DBDataSet.crm_Porto)

        End With

    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Using f As New frmNewStamp

            If f.ShowDialog = Windows.Forms.DialogResult.OK Then


                Crm_PortoBindingSource.AddNew()

                Dim newRow As _NIS_CRM_DBDataSet.crm_PortoRow

                newRow = CType(CType(Crm_PortoBindingSource.Current, DataRowView).Row, _NIS_CRM_DBDataSet.crm_PortoRow)


                With newRow

                    .Datum = f.Datum

                    .Benutzer = f.User

                    .Verwendungszweck = f.Verwendungszweck

                    .Anzahl = CInt(f.Anzahl)

                    .Wert = CDec(f.Wert)

                End With


                With Me

                    .Validate()

                    .Crm_PortoBindingSource.EndEdit()

                    .TableAdapterManager.UpdateAll(_NIS_CRM_DBDataSet)

                End With


                'Funktion für Addieren

                gesWertAddieren()

                gesAnzahlAddieren()


            ElseIf f.ShowDialog = Windows.Forms.DialogResult.Cancel Then

                f.Close()

            End If

        End Using


        Me.TextBox1.Text = CStr(Crm_PortoDataGridView.RowCount)

    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim löschenAntwort As Integer


        If Me.Crm_PortoDataGridView.Rows.Count > 0 Then

            löschenAntwort = MsgBox("Wollen sie diese Sendung wirklich löschen?", vbYesNo)

            If löschenAntwort = vbYes Then

                Me.Crm_PortoBindingSource.RemoveCurrent()

                Me.Crm_PortoTableAdapter.Update(Me._NIS_CRM_DBDataSet.crm_Porto)

                Me.TextBox1.Text = CStr(Crm_PortoDataGridView.RowCount)


                'Funktion für Addieren

                gesWertAddieren()

                gesAnzahlAddieren()


            ElseIf löschenAntwort = vbNo Then

            End If

        ElseIf Me.Crm_PortoDataGridView.Rows.Count < 0 Then

            MessageBox.Show("Es sind keine Sendungen vorhanden!")

        End If

    End Sub


    Private Sub Crm_PortoDataGridView_RowValidated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Crm_PortoDataGridView.RowValidated

        Me.TextBox1.Text = CStr(Crm_PortoDataGridView.RowCount)

    End Sub


    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

        NIStamp.Info.Show()

    End Sub


' Hier taucht der Fehler auf:


    Private Sub gesWertAddieren()

        Dim ResultWert As Object = DataTable.Compute("Sum(" & ColumnNameWert & ")", FilterWert)

        gesamtWert = CType(IIf(IsNumeric(ResultWert), ResultWert.ToString(), ""), String)

    End Sub


    Private Sub gesAnzahlAddieren()

        Dim ResultAnzahl As Object = DataTable.Compute("Sum(" & ColumnNameAnzahl & ")", FilterAnzahl)

        gesamtAnzahl = CType(IIf(IsNumeric(ResultAnzahl), ResultAnzahl.ToString(), ""), String)

    End Sub


End Class

Ich hoffe, es versteht jemand mein Problem und kann mir helfen :-)

Viele Grüße,

Basti

Bearbeitet von Bastiman
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...