Tror att detta är ett klassiskt problem... Prova Detta kanske är en hjälp på vägen?Sortera på senaste kontakten
Jag har en huvudsqlsats:
<code>
SQL="SELECT * FROM tbl_company"
SET company = db.Execute(SQL)
Do Until company.EOF
SQL="SELECT indate FROM tbl_contacthistory WHERE companyid = " & company(0) & " ORDER BY historyid DESC"
SET contact = db.Execute(SQL)
if contact.EOF then
contactDate = "-"
else
contactDate = contact(0)
end if
company.movenext
Loop
</code>
Inne in huvudsatsen plockar jag ut kontaktdatumet i en ny sqlsats men då går det inte att sortera på contactDate. Jag måste väl slå ihop både sqlsatserna till en sqlsats för att kunna sortera på det den senaste kontakten. Hur skriver man en sådan sqlsats som gör detta?
Jag har testa utan någon lycka.Sv: Sortera på senaste kontakten
SQL = "SELECT * FROM tbl_company LEFT JOIN tbl_contacthistory ON companyid = company ORDER BY contactDate"Sv: Sortera på senaste kontakten
<code>
SQL = "SELECT tbl_company.companyid, Max(tbl_contacthistory.indate) As LastDate" & vbCrLf & _
"FROM tbl_company LEFT JOIN tbl_contacthistory ON tbl_company.companyid = companyid.tbl_contacthistory" & vbCrLf & _
"ORDER BY Max(tbl_contacthistory.indate)"
SET company = db.Execute(SQL)
Do Until company.EOF
If IsNull(company("LastDate")) Then
contactDate = "-"
Else
contactDate = company("LastDate")
End if
company.movenext
Loop
</code>