hej! Som felmeddelandet säger har du nog ett reserverat ord, gissar att det är Day... Testa såhär:Felmeddelande från OLEDB för Access
Jag har byggt ett Windows Forms-program med VB.NET och Access som databas, använder OLEDB och datasets för att hämta från databasen. Oftast funkar det bra, men nu har jag fastnat rejält. Följande fråga får jag inte att funka trots att jag testat en hel del:
SELECT (c.id) AS CompanyId, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, (a.id) AS assignmentId, a.assignmentName, (Count(d.Day)) AS Day
FROM ((assignment a
LEFT JOIN company c ON a.companyId = c.ID)
LEFT JOIN 200512 d ON a.ID = d.assignment)
GROUP BY c.ID, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, a.id, a.assignmentName;
Felmeddelandet är:
"SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda"
Det märkliga är att det funkar om jag klistrar in frågan direkt i Access och testar, så felmeddelandet får jag bara när jag skall fylla datasetet med hjälp av en oledb-dataadapter. Någon som har tips om vad i frågan OLEDB inte gillar?
Kan tillägga också att frågan funkar fint utan Count på fältet Day och group by-attributet. Det var när jag lade på dem som jag fick felet.
mvh
henrik
Sv: Felmeddelande från OLEDB för Access
SELECT (c.id) AS CompanyId, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, (a.id) AS assignmentId, a.assignmentName, (Count(d.[Day])) AS [Day]
FROM ((assignment a
LEFT JOIN company c ON a.companyId = c.ID)
LEFT JOIN 200512 d ON a.ID = d.assignment)
GROUP BY c.ID, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, a.id, a.assignmentName;
eller såhär:
SELECT (c.id) AS CompanyId, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, (a.id) AS assignmentId, a.assignmentName, (Count(d.[Day])) AS myDay
FROM ((assignment a
LEFT JOIN company c ON a.companyId = c.ID)
LEFT JOIN 200512 d ON a.ID = d.assignment)
GROUP BY c.ID, c.companyName, c.invoiceaddress1, c.invoiceaddress2, c.invoiceaddress3, c.invoicepostNo, c.invoicecity,
c.invoicecountry, a.id, a.assignmentName;
/Johan