xX Hardy Xx
Mitglied
Hallo liebe Forengemeinde,
ich programmiere gerade an einer Kundenverwaltung und habe dort ein Problem, welches ich trotz mehrstündigen probierens, nicht gelöst bekomme. Grundlage ist eine Access Datenbank *.mdb.
Zu der Kundenverwaltung gibt es ein Form, welches eine Übersicht mit allen Kunden in einem ListView Element anzeigt.
In dieser Kundenübersicht gibt es verschiedene Kriterien der Eingrenzung.
Z.B. Nur das Anzeigen von Privat und/oder Unternehmen, wobei man die Unternehmen wiederum zwischen Lieferanten und Händlern unterscheiden und anzeigen lassen kann.
Des weiteren gibt es Möglich sich nur die die Unternehmen einer gewissen Branche anzeigen zu lassen.
Das alles funktioniert einwandfrei. Er zeigt mir alle Datensätze an so wie ich dies möchte. Er zeigt mir jedoch Datensätze mit dem selben Namen auch jedesmal an. Um dies zu Unterdrücken habe ich im SQL Querry versucht den Befehl 'GROUP BY' zu verwenden.
So funktioniert der Code.
Erweitere ich jedoch jetzt eine Befehlszeile um
wird der im Betreff genannte Fehler angezeit.
Ich habe alle möglichen Notationen probiert auch [] oder ' '
An anderen Stellen des Programms funktioniert diese Anweisung. Wieso hir nicht? Hat jemand eine Idee?
Vielen Dank im Voraus für eure Hilfe
Gruß
Hardy
ich programmiere gerade an einer Kundenverwaltung und habe dort ein Problem, welches ich trotz mehrstündigen probierens, nicht gelöst bekomme. Grundlage ist eine Access Datenbank *.mdb.
Zu der Kundenverwaltung gibt es ein Form, welches eine Übersicht mit allen Kunden in einem ListView Element anzeigt.
In dieser Kundenübersicht gibt es verschiedene Kriterien der Eingrenzung.
Z.B. Nur das Anzeigen von Privat und/oder Unternehmen, wobei man die Unternehmen wiederum zwischen Lieferanten und Händlern unterscheiden und anzeigen lassen kann.
Des weiteren gibt es Möglich sich nur die die Unternehmen einer gewissen Branche anzeigen zu lassen.
Das alles funktioniert einwandfrei. Er zeigt mir alle Datensätze an so wie ich dies möchte. Er zeigt mir jedoch Datensätze mit dem selben Namen auch jedesmal an. Um dies zu Unterdrücken habe ich im SQL Querry versucht den Befehl 'GROUP BY' zu verwenden.
Code:
Function Datensaetze_Laden()
Dim con As New OleDbConnection
Dim cmd As New OleDbCommand
Dim reader As OleDbDataReader
Me.lstvUebersicht.Clear()
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDATASource
cmd.Connection = con
strTemp = "SELECT ID, Kundenname FROM Kundenstamm WHERE Deaktiviert = False"
If Me.cboTaetigkeitsbereich.Text <> "" Then
If cboTaetigkeitsbereich.Text <> "Alle" Then
strKunde_Taetigkeitsbereich = Me.cboTaetigkeitsbereich.Text
strTemp = strTemp & " AND Taetigkeitsbereich = '" & strKunde_Taetigkeitsbereich & "'"
End If
End If
If bolKundesuche_Privatperson = False Then
strTemp = strTemp & " AND Privatperson = False"
End If
If bolKundensuche_Unternehmen = False Then
strTemp = strTemp & " AND Unternehmen = False"
End If
If Me.chkHaendler.Checked = False Then
strTemp = strTemp & " AND Haendler = False"
End If
If Me.chkLieferant.Checked = False Then
strTemp = strTemp & " AND Lieferant = False"
End If
strTemp = strTemp & " ORDER BY Kundenname"
cmd.CommandText = strTemp
Try
con.Open()
reader = cmd.ExecuteReader()
Do While reader.Read()
intKunde_ID = reader("ID")
strKunde_Name = reader("Kundenname")
intKunde_Anzahl = Me.lstvUebersicht.Items.Count
If intKunde_Anzahl = 0 Then
Me.lstvUebersicht.Columns.Add("ID", 44, HorizontalAlignment.Left)
Me.lstvUebersicht.Columns.Add("Kundenname", 550, HorizontalAlignment.Left)
End If
Me.lstvUebersicht.Items.Add(intKunde_ID)
Me.lstvUebersicht.Items(intKunde_Anzahl).SubItems.Add(strKunde_Name)
Loop
reader.Close()
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return Nothing
End Function
So funktioniert der Code.
Erweitere ich jedoch jetzt eine Befehlszeile um
Code:
strTemp = strTemp & " ORDER BY Kundenname GROUP BY Kundenname"
wird der im Betreff genannte Fehler angezeit.
Ich habe alle möglichen Notationen probiert auch [] oder ' '
An anderen Stellen des Programms funktioniert diese Anweisung. Wieso hir nicht? Hat jemand eine Idee?
Vielen Dank im Voraus für eure Hilfe
Gruß
Hardy
Zuletzt bearbeitet: