TrumpfMedlem sedan feb. 2004213 inlägg Jag har en accessbas med en post som heter "members". Och kolumn som heter id och username.
Där samlar jag alla medlemmar som har loggat in.
Sen har jag en post som heter klubb där har jag id och klubb i kolumnerna.
Jag använder följande sql i inledningen.
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM members WHERE id=" & Request.Querystring("id")
RecSet.Open SQL, Conn, 1, 3
%>
Men hur ska jag sammankoppla medlem och klubb ?
OveRRidEMedlem sedan feb. 200112 078 inlägg Skapa en kolumn i tabellen 'members'; som heter typ "klubbid". Sen joinar du dem med SQL-en.
SELECT * FROM members m INNER JOIN klubb k ON m.klubbid = k.id
Vidare; se till att byta ut den där IDG-koden mot nåt sånt här istället;
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/members.mdb")
SQL = "SELECT * FROM members m INNER JOIN klubb k ON m.klubbid = k.id WHERE m.id = " & CLng(Request("id"))
Set RecSet = Conn.Execute(SQL)%>
TrumpfMedlem sedan feb. 2004213 inlägg Tack ska kolla direkt nu ikväll (lördag)
TrumpfMedlem sedan feb. 2004213 inlägg jag vill inte ha kolumnen "klubb" i members.
Jag vill skapa en ny tabell med namn klubb och där har jag id och klubb.
HUr ska select koden se ut då?
@ndersMedlem sedan juni 200032 969 inlägg Det är väl bara att joina på användar-ID då istället?
@ndersMedlem sedan juni 200032 969 inlägg Hmm?
SQL = "SELECT * FROM members m INNER JOIN klubb k ON [b]m.id = k.memberid[/b] WHERE m.id = " & CLng(Request("id"))
Har du ytterligare en tabell så får du joina ett steg till.
TrumpfMedlem sedan feb. 2004213 inlägg En fråga till.
Hur gör jag i nästa steg för att få fram namn och klubb?
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters
Just nu får jag detta. Men det fattas väl något eller?!
@ndersMedlem sedan juni 200032 969 inlägg Felmeddelandet betyder att det är ett tabell- eller fältnamn i frågan som inte stämmer. Kontrollera.
Du får nog beskriva hur dina tabeller och fält ser ut.
@ndersMedlem sedan juni 200032 969 inlägg Hur knyter du ihop medlem och klubb då, eftersom du inte ville ha klubbtillhörigheten i medlemstabellen?
TrumpfMedlem sedan feb. 2004213 inlägg Det är väl det jag undrar.
@ndersMedlem sedan juni 200032 969 inlägg Om en medlem ska kunna vara medlem i en klubb tycker jag du kan lagra det i medlemstabellen. Om man ska kunna vara medlem i fler klubbar får du lagra det i en tabell.
tblMembership
---------------------
memberID
clubID
Sedan får du joina in den tabellen också. Kanske något sånt här:
SQL = "SELECT members.*, k.klubb FROM (members m INNER JOIN tblMembership ms ON m.id = ms.memberID) INNER JOIN klubb k ON ms.clubID = k.ID WHERE m.id = " & CLng(Request("id"))
Men det är svårt att gissa vad du frågar efter.
TrumpfMedlem sedan feb. 2004213 inlägg Om man gör en korsfråga i access programmet kan jag använda funktionen visa funktionen (SQL) och ta koden där och klistra in?
Exempel fick jag denna kod:
TRANSFORM Count(members.antal) AS Antalförantal
SELECT members.id, members.username, members.klubben, Count(members.antal) AS [Summa av antal]
FROM members
GROUP BY members.id, members.username, members.klubben
PIVOT members.fnamn;
Är det bara klistra in den då?
Jag gjorde det men fick felmeddelande.
SQL = "SELECT TRANSFORM Count(members.antal) AS Antalförantal
Vad beror det på tro?
ToonsterMedlem sedan feb. 20001 590 inlägg Username är nog ett reserverat ord. Så byt namn på fältet, så löser det nog en del av problemet.
Toonster skrev:
Username är nog ett reserverat ord. Så byt namn på fältet, så löser det nog en del av problemet.
Nejje, det behövs ju inte ;)
Skriv [username] i stället för username.
@ndersMedlem sedan juni 200032 969 inlägg
Trumpf skrev:
Vad beror det på tro?
Du kan inte bara klistra in och använda radbrytningar hur som helst. Antingen:
strSQL = "bla bla bla bla" & _
"bla bla bla"
eller
strSQL = "bla bla bla bla"
strSQL = strSQL & "bla bla bla"
TrumpfMedlem sedan feb. 2004213 inlägg Jag får felmeddelande då:
SQL = TRANSFORM Count(members.antal) AS Antalförantal
----------------^
Använder denna SQL:
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/members.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = TRANSFORM Count(members.antal) AS Antalförantal
SELECT members.id, members.[username], members.klubben, Count(members.antal) AS [Summa av antal]
FROM members
GROUP BY members.id, members.[username], members.klubben
PIVOT members.fnamn;
RecSet.Open SQL, Conn, 1, 3
%>
@ndersMedlem sedan juni 200032 969 inlägg Hmm...
Vad hände med mitt förra inlägg? Syns det inte?
TrumpfMedlem sedan feb. 2004213 inlägg Fattar inte vad du menar riktigt.