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