>lcSQL = "SELECT mkstech_arbzeit.interne_nr," & _ > "mkstech_arbzeit.benutzer, " & _ > "mkstech_arbzeit.status," & _ > "mkstech_arbzeit.descr," & _ > "mkstech_arbzeit.datum," & _ > "mkstech_kunden.kurzbez" & _ > " FROM mkstech_arbzeit INNER JOIN mkstech_kunden ON " & _ > " mkstech_arbzeit.kundnr=mkstech_kunden.kundnr " & > " GROUP BY 1 " & _ > " ORDER BY 1 " > > Dim loConnection As OleDbConnection > Dim loCommand As OleDbCommand > loConnection = Me.mmks_getconnection() > loCommand = New OleDbCommand(lcSQL, loConnection) > loConnection.Open() > Dim loDataReader As OleDbDataReader = loCommand.ExecuteReader() >>Last line return me error GROUP BY clause is missing or invalid
SELECT mkstech_arbzeit.interne_nr, ; mkstech_arbzeit.benutzer, ; mkstech_arbzeit.status, ; mkstech_arbzeit.descr,; mkstech_arbzeit.datum,; mkstech_kunden.kurzbez ; FROM mkstech_arbzeit INNER JOIN mkstech_kunden ON ; mkstech_arbzeit.kundnr=mkstech_kunden.kundnr ; GROUP BY 1 ; ORDER BY 1Converting group by to: GROUP BY 1,2,3,4,5,6 is not a solution just a bypassing of potential logical error.
create cursor test (interne_nr i,datum d) insert into test values (1, {^2004/1/1}) insert into test values (1, {^2004/2/1}) insert into test values (1, {^2004/4/1}) insert into test values (1, {^2004/3/1}) Select distinct interne_nr, datum ; FROM test ; ORDER BY 1 SELECT interne_nr, datum ; FROM test ; GROUP BY 1,2 ; ORDER BY 1 SET ENGINEBEHAVIOR 70 && As it was in 7 SELECT interne_nr, datum ; FROM test ; GROUP BY 1 ; ORDER BY 1 SET ENGINEBEHAVIOR 80Notice implicit order by (which is wrong IMHO) and none might be what you want. EngineBehavior changes are not limited to GROUP BY. Read VFP documentation about it.