Jag vet inte hur jag ska lösa detta problemet. Jag har en databas där jag hämtar inmormation ifrån, där hämtar jag ett sk. userid. detta userid ska sedan hämta ett ID i en annan databas, dem ligger i samma databas men har olika tabell namn. Kanske: då får jag följadefelmeddelande: Du kan inte göra så via sql, du för öppna två anslutningar istället, en till den ena databasen och en till den andra. En bättre lösning är att bara använda en databas... Okej, så det går inte via ett "userid" ifrån en databas gå in i en annan tabell och ta fram ID:et där? Och sen skriva ut t.ex. användarens hemstad. Jodå, men jag läste in din text riktigt nogrant... Läst mest bara rubriken... Kan du inte visa hur din kod ser ut? Lite lättare att veta vad du gjort då. Hej, Nu har jag ändrat och satt in alla databaser i samma databas i olika tabeller. Det är inte så himla konstigt, du länkar ju bara ihop users och bil, för att få fram alla båtarna behöver du även boat Men var ska jag få in " & ID & ", måste ju berätta att du är inloggad med sessionen "ID" och att dem bara ska lista alla bilar och båtar som du har med ditt ID. hmmm... tog det som underförstått att man bara behöver lägga till din and - sats med ID varibeln angiven så får man endast de användare, bilar och båtar som har just det användarIDet... Har du möjligen några länktips? Har letat en hel del men inte hittat något bra som går lite djupare in på villkor, joins m.m. Tacksam för lite läsnyttigt. Hur ser dina tabeller ut? Varför har du inte en tabell för bilar och båtar och en kolumn som talar om vad det är? Andreas: Det är bara för att jag har fler tabeller, inte bara bil och båt. Testa att ta bort sista order by: Nej får följande felmeddelande: Typblandningsfel i villkorsuttryck.Hämta ur två databaser?
Hur ska jag göra?Sv: Hämta ur två databaser?
<code>
select ID From AndraTabellen Where FörstaTabellen.UserId = " & request("userid")
</code>
Någonting sådant här tror jag.Sv: Hämta ur två databaser?
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'bil.userid ='.Sv: Hämta ur två databaser?
Sv: Hämta ur två databaser?
Sv: Hämta ur två databaser?
Sv: Hämta ur två databaser?
//FredrikSv: Hämta ur två databaser?
Prova SELECT * FROM Tabell_A INNER JOIN Tabell_B ON Tabell_A.UserID = Tabell_B.UserId WHERE ...
Använd det unika id't som du måste ha i tabellerna för att du ska kunna knyta dom samman, som UserID.
Fungerar inte det så kan det bero det på att du som access användare kan behöva lite paranteser och sådant...men INNER JOIN "tvingar" ihop två tabeller i en vy.
Sen kan man få problem med att du har två likadana fältnamn i de olika tabellerna.
Skilj dom åt med tabellnamn.fältnamn och ev [tabellnamn].[fältnamn]...
Annars ska det ge dig det resultat som du önskar.
Ge lite kod som tidigare inlägget nämdnde så köser vi det :p ds.
Kan det hjälpa?
/KajSv: Hämta ur två databaser?
Jag har en tabell som heter user, en som heter bil och en boat. I både bil och boat har jag ett fält som heter userid, det userid:et är räknar ID:et i tabellen user.
Nu vill jag lista alla bilar och båtar användaren har, lyckas bara lista bilarna.
<code>
<%
ID=Session("IDet")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../data.mdb")&""
set rs=conn.execute("SELECT user.ID, bil.userid, * FROM users, bil WHERE userid=" & ID & " ORDER BY marke")
If rs.BOF and rs.EOF Then
%>
Hittade inget!
<%Else%>
<% 'Eller om den hittar någon titel skriver den ut vilka eller vilken du hittade.%>
<%If Not rs.BOF Then%>
<h3>Dina sakerh3>
<hr>
<table width="403" BORDER="0" cellpadding="2" cellspacing="1">
<tr bgcolor="#15B205">
<th width="131"><div align="left"><font size="1">Rubrik:</font></div></th>
<th width="88"><div align="left"><font size="1">Kategori:</font></div></th>
<th width="73"><div align="left"><font size="1">Ta bort:</font></div></th>
</tr>
<%
Do While Not rs.EOF
%>
<tr>
<td> ">
<% =rs("marke") %>
<b>
<% =rs("modell") %>
</b> </td>
<td><% =rs("huvudkategori") %></td>
<td>">Radera?</td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
<hr>
<%
End If
End If
rs.Close
%>
</code>Sv: Hämta ur två databaser?
<code>
SELECT
u.userid,
*
FROM
users u, bil c, boat b
WHERE
u.id = c.userid
and u.id = b.userid
</code>
Voila, det borde fixa det helaSv: Hämta ur två databaser?
Sv: Hämta ur två databaser?
<code>
strSQL = "SELECT u.userid, * FROM users u, bil c, boat b WHERE u.id = c.userid AND u.id = b.userid AND u.id = " & ID & " ORDER BY marke"
</code>
Tänk på att den sats jag skrivit ovan är ett EXEMPEL, du kan behöva ändra den för att den ska fungera i just din miljö (tabellnamn, kolumnamn och annat).
Åter igen, försök läsa en tutorial om SQL, de förklarar det mycket bra, de flesta artiklar som SQL är mycket grundläggande och framförallt korta, inte mer än 4-5 sidor max, man lär sig massor.Sv: Hämta ur två databaser?
Sv: Hämta ur två databaser?
Annars kan du göra en UNION:
<code>
<%
ID=Session("IDet")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../data.mdb")&""
strSQL = "SELECT bil.ID, bil.marke, bil.modell, bil.huvudkategori" & vbCrLf & _
"FROM bil" & vbCrLf & _
"WHERE bil.userid = " & ID & "" & vbCrLf & _
"ORDER BY bil.marke" & vbCrLf & _
"UNION ALL" & vbCrLf & _
"SELECT boat.ID, boat.marke, boat.modell, boat.huvudkategori" & vbCrLf & _
"FROM boat" & vbCrLf & _
"WHERE boat.userid = " & ID & "" & vbCrLf & _
"ORDER BY boat.marke"
Set rs = conn.Execute(strSQL)
If rs.BOF and rs.EOF Then
Response.Write "Hittade inget!"
Else 'skriver ut vilka eller vilken du hittade.
%>
<h3>Dina saker</h3>
<hr>
<table width="403" BORDER="0" cellpadding="2" cellspacing="1">
<tr bgcolor="#15B205">
<th width="131"><div align="left"><font size="1">Rubrik:</font></div></th>
<th width="88"><div align="left"><font size="1">Kategori:</font></div></th>
<th width="73"><div align="left"><font size="1">Ta bort:</font></div></th>
</tr>
<%
Do Until rs.EOF
%>
<tr>
<td>">
<%=rs("marke")%>
<%=rs("modell")%>
</td>
<td><%=rs("huvudkategori")%></td>
<td>">Radera?</td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
<hr>
<%
End If
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</code>Sv: Hämta ur två databaser?
Men jag får följande felmeddelade när jag körde din kod:
ORDER BY-uttrycket (boat.marke) innehåller fält som inte hämtas med frågan. Endast fält som hämtas med första frågan kan ingå i ORDER BY-uttrycket.
mvh/AndréSv: Hämta ur två databaser?
<code>
strSQL = "SELECT bil.ID, bil.marke, bil.modell, bil.huvudkategori" & vbCrLf & _
"FROM bil" & vbCrLf & _
"WHERE bil.userid = " & ID & "" & vbCrLf & _
"ORDER BY bil.marke" & vbCrLf & _
"UNION ALL" & vbCrLf & _
"SELECT boat.ID, boat.marke, boat.modell, boat.huvudkategori" & vbCrLf & _
"FROM boat" & vbCrLf & _
"WHERE boat.userid = " & ID
</code>Sv: Hämta ur två databaser?