Hallo,
ich möchte gern Daten aus einer Access Datenbank über ein Datagridview anzeigen.
Leider kommt es beim Laden zu einem Fehler:
Private Sub frmStammAuswahl_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
strSQL = "SELECT (WeichenStammDaten.ID) AS StammID,"
strSQL = strSQL & " Max((WeichenPrüfungen.ID)) AS PrüfID,"
strSQL = strSQL & " (WeichenStammDaten.WeicheNr) AS [WeicheNr],"
strSQL = strSQL & " (WeichenStammDaten.KundeBahnhof) AS [TestBez],"
strSQL = strSQL & " (WeichenStammDaten.Stellwerkbezeichnung) AS" & _
"[Stellwerk],"
strSQL = strSQL & " (WeichenStammDaten.BLK) AS [Anlagenklasse],"
strSQL = strSQL & " Max(WeichenPrüfungen.Prüfdatum) AS [Prüfdatum],"
strSQL = strSQL & " (WeichenStammDaten.Prüfintervall) AS" & _
"[Prüfintervall],"
strSQL = strSQL & " (WeichenStammDaten.Bereich) AS [MessBezirk],"
strSQL = strSQL & " (WeichenStammDaten.MessFile) AS [Messfile],"
strSQL = strSQL & " (WeichenStammDaten.Sperrung) AS [Sperrung],"
strSQL = strSQL & " (WeichenStammDaten.Sperrung_Richtung) AS [Sperrung" & _
"Richtung],"
strSQL = strSQL & " (WeichenStammDaten.Dokumente) AS [Dokument]"
strSQL = strSQL & " FROM (WeichenStammDaten"
strSQL = strSQL & " LEFT JOIN WeichenPrüfungen"
strSQL = strSQL & " ON WeichenStammDaten.ID =" & _
"WeichenPrüfungen.WeichenStammDatenID)"
strSQL = strSQL & " LEFT JOIN WeichenErweiterteStammDaten"
strSQL = strSQL & " ON WeichenStammDaten.ID =" & _
"WeichenErweiterteStammDaten.WeichenStammDatenID"
strSQL = strSQL & " WHERE (((WeichenStammDaten.LöschStatus)<>1"
strSQL = strSQL & " Or (WeichenStammDaten.LöschStatus) Is Null)"
strSQL = strSQL & " AND ((WeichenPrüfungen.LöschStatus)<>1"
strSQL = strSQL & " Or (WeichenPrüfungen.LöschStatus) Is Null))"
strSQL = strSQL & " GROUP BY (WeichenStammDaten.ID),"
strSQL = strSQL & " WeichenStammDaten.WeicheNr,"
strSQL = strSQL & " (WeichenStammDaten.KundeBahnhof),"
strSQL = strSQL & " (WeichenStammDaten.Stellwerkbezeichnung),"
strSQL = strSQL & " (WeichenStammDaten.BLK),"
strSQL = strSQL & " WeichenStammDaten.Prüfintervall,"
strSQL = strSQL & " (WeichenStammDaten.Bereich),"
strSQL = strSQL & " WeichenStammDaten.MessFile,"
strSQL = strSQL & " WeichenStammDaten.Sperrung,"
strSQL = strSQL & " WeichenStammDaten.Sperrung_Richtung,"
strSQL = strSQL & " WeichenStammDaten.Dokumente"
strSQL = strSQL & " Order By WeichenStammDaten.WeicheNr,"
strSQL = strSQL & " Max(WeichenPrüfungen.Prüfdatum) DESC;"
Dim conn As New OleDbConnection(Glob_Con_Str)
Dim cmd As New OleDbCommand(strSQL, conn)
Dim da As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
conn.Open()
ds.Clear()
da.Fill(ds, strSQL)
DataGridView1.DataSource = ds
DataGridView1.DataMember = strSQL
conn.Close()
'DataGridView formatieren
With Me.DataGridView1
.RowsDefaultCellStyle.BackColor = Color.WhiteSmoke
.AlternatingRowsDefaultCellStyle.BackColor = Color.Lavender
.ForeColor = Color.MidnightBlue
.DefaultCellStyle.Font = New Font("Microsoft Sans Serif", 8.25)
.ColumnHeadersDefaultCellStyle.BackColor = Color.MidnightBlue
.ColumnHeadersDefaultCellStyle.ForeColor = Color.WhiteSmoke
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
End With
End Sub Änder ich den SQL,
strSQL = "SELECT * FROM WeichenStammDaten;" dann klappt es zwar, zeigt aber nicht die gewünschten Daten.
Hat einer eine Idee woran das liegt?
Gruß
MarioRainer |