På första sidan har ag så att man kan se senaste inlägg i forumet, men forumets databas ser ut på följande sätt:
forum
- inlagg
-svar
dvs jag har två tabeller en för inlägg och en för svar... när jag ska skriva ut den senaste postade inlägget på första sidan gör jag så här:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forumet.mdb")&";pwd=losen"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT Top 1 * FROM svar ORDER BY Id DESC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
%>
Men nu hämtar den bara den senaste svaret på ett inlägg från forumet kan man inte göra så att den hämtar det senaste inlägget från svar och inlagg???
i båda tabellerna finns kolumnerna, rubrik, namn och inlägg som jag vill ha med och de skriver jag ut m h a RecSet på sidan, problemet är som sagt att själva inläggen (med namn rubrik och inlägg) hamnar i en tabell och svaren (med namn rubrik och inlägg) i en annan...
select top 1 * rubrik, namn, inlagg, datum
from (select top 1 * from inlagg order by datum desc
union all
select top 1 * from svar order by datum desc)
order by datum desc
Det går inte att lägga in en ny rad mitt i en sträng
query = "select top 1 * rubrik, namn, inlagg, datum " & _
" from (select top 1 * from inlagg order by datum desc " & _
" union all select top 1 * from svar order by datum desc) " & _
" order by datum desc "
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '* rubik'.
Det råkade vara en * för mycket i det första select-uttrycket.
query = "select top 1 rubrik, namn, inlagg, datum " & _
" from (select top 1 * from inlagg order by datum desc " & _
" union all select top 1 * from svar order by datum desc) " & _
" order by datum desc "
Då får du specificera vilka fält du ska ha från de två selectfrågor du har en union mellan. Det skall vara lika många fält från varje select-fråga, och fälten som läggs ihop ska ha jämförbara typer.
Alltså det är så här:
På första sidan så ska man kunna se senaste postade inlägg i forumet och jag har två tabeller i databasen där den ena heter inlagg och den andra svar, tabellerna ser ut så här:
svar [id, namn, mail, rubrik, inlagg, datum, referens_id, ip]
inlagg [id, namn, mail, rubrik, inlagg, datum, senast_svar, ip, svar]
och det jag vill skriva ut på sförsta sidan är:
Namn
Rubrik
Inlagg