Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[VB2008]Zellenaddition in DataGridView

Empfohlene Antworten

Veröffentlicht

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.