03. oktober 2001 - 08:39Der er
18 kommentarer og 1 løsning
giv mig hvor.... ?
Jeg har en tabel som hedder emne_gruppe som samler relationerne imellem emne og gruppe ID. Jeg vil gerne lave en liste men behøver dertil navnet og ikke ID. Jeg vil helst kun holde mig til ID og ingen navne i denne tabel. Det er ikke en relation, da man skal kunne sætte en ny relation har jeg en update rutine til den pågædende emne_gruppe tabel.
Er der en måde spørge på værdi på anden recordset efter hvilken værdi dette recordset har?
eksempel:
giv mig værdien fra recordset <%=(rs_gruppe.Fields.Item(\"gruppe\").Value)%> hvor ID fra samme recordset <%=(rs_gruppe.Fields.Item(\"gruppe_id\").Value)%> Matcher med <%=(rs_emne_gruppe.Fields.Item(\"gruppe_id\").Value)%>
Så vil jeg kunne hente navnet ud, i stedet for kun at liste ID!
På samme måde med <%=(rs_emne_gruppe.Fields.Item(\"emne_id\").Value)%>
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
du skal lave det med SQL. Jeg ville lave en SQL sætninge som denne:
SQL = \"SELECT gruppe.*, emne.* FROM (emne_gruppe LEFT JOIN emne ON emne_gruppe.emne_ID = emne.ID) LEFT JOIN gruppe ON emne_gruppe.gruppe_ID = gruppe.ID WHERE emne_gruppe.ID=\"& valgt_emne_gruppe
set rs = con.execute(sql) emne id = rs(\"emne.id\") gruppe id = rs(\"gruppe.id\") emne navne = rs(\"emne_navn\") \'hvis fltet hedder emne_navn naturligvis gruppe navne = rs(\"gruppe_navn\")
<% SQL = \"SELECT gruppe.*, emne.* FROM (emne_gruppe LEFT JOIN emne ON emne_gruppe.emne_ID = emne.ID) LEFT JOIN gruppe ON emne_gruppe.gruppe_ID = gruppe.ID WHERE emne_gruppe.ID=\"& valgt_emne_gruppe
set rs = MM_data_STRING.execute(sql) emne id = rs(\"emne.id\") gruppe id = rs(\"gruppe.id\") emne navne = rs(\"emne_navn\") \'hvis feltet hedder emne_navn naturligvis gruppe navne = rs(\"gruppe_navn\") %>
Den giver følgende fejl:
Microsoft VBScript runtime error \'800a01a8\' Object required: \'MM_data_STRING\' /relation_emne_gruppe.asp, line 47
De andre steder stå der: rs_emne.ActiveConnection = MM_data_STRING Jeg har prøvet at rette til: rs_emne.ActiveConnection = MM_data_STRING men det hjælper ikke. Hvor har du valgt_emne_gruppe fra??
Jeg har prøvet at lave det hele om og nu der det sådan ud:
<% set rs_gruppe_navn = Server.CreateObject(\"ADODB.Recordset\") rs_gruppe_navn.ActiveConnection = MM_data_STRING rs_gruppe_navn.Source = \"SELECT gruppe.*, emne.* FROM (rs_emne_gruppe LEFT JOIN rs_emne ON rs_emne_gruppe.emne_ID = rs_emne.ID) LEFT JOIN gruppe ON rs_emne_gruppe.gruppe_ID = rs_gruppe.ID WHERE rs_emne_gruppe.ID=\"& valgt_emne_gruppe
\'set rs = MM_data_STRING emne id = rs_gruppe_navn(\"emne.id\") gruppe id = rs_gruppe_navn(\"gruppe.id\") emne navne = rs_gruppe_navn(\"emne\") \'hvis feltet hedder emne_navn naturligvis gruppe navne = rs_gruppe_navn(\"gruppe\") %>
og giver denne fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.
/relation_emne_gruppe.asp, line 50
Jeg tror der er noget galt med: valgt_emne_gruppe som er sidst i SQL sætningen!
The DISTINCTROW predicate is used to omit duplicate values in an entire record of fields. This can be very useful when you use a INNER JOIN to join two tables together and you do not want any duplication. This code create a table that does not repeat any of the last names:
Jeg er gået det hele efter og nu der SQL sådan ud:
rs_gruppe_navn.Source = \"SELECT gruppe_id.*, emne_id.* FROM (rs_emne_gruppe LEFT JOIN rs_emne ON rs_emne_gruppe.emne_ID = rs_emne.ID) LEFT JOIN rs_gruppe ON rs_emne_gruppe.gruppe_ID = rs_gruppe.ID\"
giver denne fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot find the input table or query \'rs_emne_gruppe\'. Make sure it exists and that its name is spelled correctly.
/relation_emne_gruppe.asp, line 49
men rs_emne_gruppe eksistere helt sikkert! Linie 49 er den første linie som efter dit foreslag skulle se sådan ud: emne_id = rs_gruppe_navn(\"emne.id\")
Som også er linie 49. Kan det tænkes at jeg ikke kan gøre sådan? rs_gruppe_navn er den nye SQL hvor jeg sætter emne_id som jeg kan bruge senere via rs_gruppe_navn(\"emne.id\") - Jeg ved for lidt om dette??? Jeg hæver lige points for din hjælp!
Det er nogle recordsets jeg har oprettet som hedder rs_emne, rs_gruppe og re_emne_gruppe. mine tabeller hedder tbl_emne, tbl_gruppe og sys_emne_gruppe. Beklager hvis jeg ikke opfangede dette. Jeg er en newbie inden for dette felt!
Jeg har ændret til: rs_gruppe_navn.Source = \"SELECT gruppe_id.*, emne_id.* FROM (tbl_gruppe LEFT JOIN tbl_emne ON sys_emne_gruppe.emne_id = tbl_emne.id) LEFT JOIN tbl_gruppe ON sys_emne_gruppe.gruppe_id = tbl_gruppe.id\"
\"SELECT tdl_emne.*, tbl_gruppe.* FROM (sys_emne_gruppe LEFT JOIN tbl_emne ON sys_emne_gruppe.emne_ID = tbl_emne.ID) LEFT JOIN tbl_gruppe ON sys_emne_gruppe.gruppe_ID = tbl_gruppe.ID\"
Hedder dine felter i sys_emne_gruppe: gruppe_ID emne_ID ?
Response.write \"Emne ID : \" & rs(\"emne.id\") Response.write \"Gruppe ID : \" & rs(\"gruppe.id\") Response.write \"Emne navn : \" & rs(\"emne_navn\") Response.write \"Gruppe navn : \" & rs(\"gruppe_navn\")
du skal muligvis lige rette emne_navn og gruppe_navn til de rigtige felt navne som du har i henholdsvis tbl_emne og tbl_gruppe tabellerne.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.