Veröffentlicht 5. Oktober 200915 j 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 5. Oktober 200915 j von Bastiman
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.