---
title: "Access med samma ID"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154533-access-med-samma-id"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Exploit"
published: "2006-12-05T17:30:49.000Z"
updated: "2006-12-06T10:22:56.000Z"
replies: 6
views: 615
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/154533-access-med-samma-id"
---

# Access med samma ID

## #1 — Exploit, 2006-12-05T17:30Z

Hej.
Jag har en länk portal som är uppbyggd på en access databas.
Jag har företag som ligger under flera kategorier.
I dags läget så har jag "kopierat" företags namn samt den infon som ska visas det enda som skiljer dom åt i databasen är att kategori infon är olika.
Men problemet är den att det är olika ID på samma företag och nu vill jag fixa så att samma företag har samma ID oavsett hur många rader jag har i access databasen med samma företag...

Permalänk: https://www.webforum.nu/p/154533

## #2 — emission, 2006-12-05T19:04Z

Om det är samma företag så ska du bara ha en rad i tabellen. Sedan kopplar du kategorierna till företagen mha en kopplingstabell.

Tabell: Companies
Kolumner: CompanyId, CompanyName, etc.

Tabell: Categories
Kolumner: CategoryId, CategoryName, etc.

Tabell: CompanyCategories
Kolumner: CompanyId, CategoryId

Permalänk: https://www.webforum.nu/p/1907704

## #3 — Exploit, 2006-12-05T19:21Z

där hängde jag inte med för fem öre??
ska jag skapa en till tabell i databasen? o där lägger jag in mina olika kategorier?

Men i sådna fall vart bestämmer jag vilka kategorier som respektive företag ska ligga under då?

Permalänk: https://www.webforum.nu/p/1907708

## #4 — Exploit, 2006-12-05T19:26Z

så här anropar jag respektive katalog : kat.asp?kat=bil

och så här ser min kat.asp ut

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- #include file = "adovbs.inc" -->
<html><link href="style.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/lankar.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")

IF Request.Querystring("kat") = "" then
kat = "barnklader"
ELSE
kat = Request.Querystring("kat")
END IF

If kat = "barnklader" Then
	SQL = "Select * From lankar Where kat= 'barnklader' ORDER BY namn desc"
ElseIf kat = "leksaker" Then
	SQL = "Select * From lankar Where kat= 'leksaker' ORDER BY namn desc"
ElseIf kat = "barnvagnar" Then
	SQL = "Select * From lankar Where kat= 'barnvagnar' ORDER BY namn desc"
ElseIf kat = "mamma" Then
	SQL = "Select * From lankar Where kat= 'mammma' ORDER BY namn desc"
ElseIf kat = "bil" Then
	SQL = "Select * From lankar Where kat= 'bil' ORDER BY namn desc"
ElseIf kat = "dack" Then
	SQL = "Select * From lankar Where kat= 'dack' ORDER BY namn desc"
ElseIf kat = "bat" Then
	SQL = "Select * From lankar Where kat= 'bat' ORDER BY namn desc"
ElseIf kat = "mc" Then
	SQL = "Select * From lankar Where kat= 'mc' ORDER BY namn desc"
ElseIf kat = "bilstereo" Then
	SQL = "Select * From lankar Where kat= 'bilstereo' ORDER BY namn desc"
ElseIf kat = "reservdelar" Then
	SQL = "Select * From lankar Where kat= 'reservdelar' ORDER BY namn desc"	
ElseIf kat = "husbil" Then
	SQL = "Select * From lankar Where kat= 'husbil' ORDER BY namn desc"	
ElseIf kat = "snoskoter" Then
	SQL = "Select * From lankar Where kat= 'snoskoter' ORDER BY namn desc"	
ElseIf kat = "moped" Then
	SQL = "Select * From lankar Where kat= 'moped' ORDER BY namn desc"
ElseIf kat = "datorer" Then
	SQL = "Select * From lankar Where kat= 'datorer' ORDER BY namn desc"	
ElseIf kat = "tillbehor" Then
	SQL = "Select * From lankar Where kat= 'tillbehor' ORDER BY namn desc"	
ElseIf kat = "hundkatt" Then
	SQL = "Select * From lankar Where kat= 'hundkatt' ORDER BY namn desc"	
ElseIf kat = "akvarium" Then
	SQL = "Select * From lankar Where kat= 'akvarium' ORDER BY namn desc"	
ElseIf kat = "hast" Then
	SQL = "Select * From lankar Where kat= 'hast' ORDER BY namn desc"	
ElseIf kat = "ovrigahusdjur" Then
	SQL = "Select * From lankar Where kat= 'ovrigahusdjur' ORDER BY namn desc"	
ElseIf kat = "bocker" Then
	SQL = "Select * From lankar Where kat= 'bocker' ORDER BY namn desc"	
ElseIf kat = "tidningar" Then
	SQL = "Select * From lankar Where kat= 'tidningar' ORDER BY namn desc"	
ElseIf kat = "begagnat" Then
	SQL = "Select * From lankar Where kat= 'begagnat' ORDER BY namn desc"	
ElseIf kat = "film" Then
	SQL = "Select * From lankar Where kat= 'film' ORDER BY namn desc"	
ElseIf kat = "tvspel" Then
	SQL = "Select * From lankar Where kat= 'tvspel' ORDER BY namn desc"
ElseIf kat = "musik" Then
	SQL = "Select * From lankar Where kat= 'musik' ORDER BY namn desc"
	ElseIf kat = "jakt" Then
	SQL = "Select * From lankar Where kat= 'jakt' ORDER BY namn desc"
	ElseIf kat = "friluftsliv" Then
	SQL = "Select * From lankar Where kat= 'friluftsliv' ORDER BY namn desc"
	ElseIf kat = "fiske" Then
	SQL = "Select * From lankar Where kat= 'fiske' ORDER BY namn desc"
End If
	
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link rel="stylesheet" href="inc/style.css" type="text/css">
<style type="text/css">
<!--
-->
</style>
</head>

<body>
<table width="400" border="0" align="center" cellpadding="0" bordercolor="#000000" bgcolor="#76A5C4">
              <tr>
                <td colspan="2"><p class="style1">&nbsp;</p>
                </td>
              </tr>
              <tr>
                <td style="border-bottom: #009900 1px solid" colspan="2"><font face="Verdana" size="1">&nbsp;&nbsp;&nbsp;</font></td>
              </tr>
              <tr>
                <td colspan="2"><div align="left"></div></td>
              </tr>
              <tr>
                <td style="border-top: #009900 1px solid" colspan="2"><div align="center"><font face="Verdana" size="1">&nbsp;&nbsp;&nbsp;</font></div></td>
              </tr>
              <% IF RecSet.EOF then %>
              <tr>
                <td colspan="2"><div align="center" class="style1"><font size="1" face="Verdana">Inga l&auml;nkar i denna 
                  kategorin &auml;nnu... </font></div></td>
              </tr>
              <% ELSE
Do until RecSet.EOF
%>
              <tr>
                <td width="88" bgcolor="#76A5C4"><img src="<%=RecSet("banner")%>" width="88" height="31"></td>
                <td width="302" bgcolor="#76A5C4"><font size="1" face="Verdana" color="#000066"><b><a href="klick.asp?id=<%=RecSet("id")%>" target="_blank" onClick="javascript:location.reload()" onMouseOver="self.status='<%= RecSet("hemsida")%>';return true" onMouseOut="self.status=' ';return true"><%=RecSet("namn")%></a> </b> </font><font size="1" face="Verdana"><span class="style3">(</span></font><span class="style3"><font size="1" face="Verdana"><%=RecSet("klick")%></font><font size="1" face="Verdana" class="style3"> klick)</font></span> </td>
              </tr>
              <tr>
                <td colspan="2" bgcolor="#76A5C4"><div align="left">
                  <p><font size="1" face="Verdana" class="style1"><%=RecSet("text")%><br>
                  </font><font face="Verdana" size="1"><img src="hr.gif" width="300" height="10"></font></p>
                </div></td>
              </tr>
              <tr>
                <td colspan="2" bgcolor="#76A5C4"><font face="Verdana" size="1">&nbsp;&nbsp;&nbsp;</font></td>
              </tr>
              <%
Recset.MoveNext
Loop
End If
Recset.Close
Connect.Close

Set Recset = Nothing
Set Connect = Nothing
%>
              <tr>
                <td colspan="2" style="border-bottom: #009900 1px solid"><font face="Verdana" size="1">&nbsp;&nbsp;&nbsp;&nbsp;</font></td>
              </tr>
</table>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1907712

## #5 — emission, 2006-12-05T20:07Z

Det verkar som om du har en tabell som heter "lankar". I den vill vi inte lagra kategorin, utan den ska vi plocka ut till en annan tabell, som vi kallar "kategorier"

id (räknare), kat (text)
\----------------------
1,Barnkläder
2\.Leksaker

etc.

För att koppla ihop dessa så gör vi en tredje tabell, som vi kallar "lankkategorier"

lankId(tal),kategoriId(tal)
\------------------------
1,2
2,3
5,6

etc. (låtsasvärden)

För att söka ut alla länkar i kategorin "Barnkläder" blir frågan

```
SELECT l.* FROM lankar l, kategorier k, lankkategorier lk WHERE l.id=lk.lankId AND k.id=lk.kategoriId AND k.kat='Barnkläder'
```

eller ännu hellre

```
SELECT l.* FROM lankar l, kategorier k, lankkategorier lk WHERE l.id=lk.lankId AND k.id=lk.kategoriId AND k.id=1
```

Ta en rejäl titt på den SQL-frågan så ser du hur logiskt det är.

OBS! Den massiva if-sats som du skrivit är väldigt onödig. Alla 57 rader kan sammanfattas till:

```
SQL = "Select * From lankar Where kat= '" & replace(kat,"'","''")  & "' ORDER BY namn desc"
```

Permalänk: https://www.webforum.nu/p/1907725

## #6 — Exploit, 2006-12-06T08:16Z

Oki. 
denna kod/script är hämtat ifrån <https://www.JoakimWeb.se>
så jag har inte skrivit det själv men som du skriver så verkar det väldigt onödigt med så mycket kod för en sån här sak..

ska testa dina olika exempel ovan så får vi se om jag kan få ihop det annars hojtar jag till igen..

Permalänk: https://www.webforum.nu/p/1907772

## #7 — emission, 2006-12-06T10:22Z

Fy skäms, JoakimWeb... :)

Bra att du försöker själv, Exploit. Det gillar jag.

/G

Permalänk: https://www.webforum.nu/p/1907793

---

Tråden på webben: https://www.webforum.nu/amne/asp/154533-access-med-samma-id
