Just nu i M3-nätverket
Gå till innehåll

relationer!


grxAndy

Rekommendera Poster

 

Hur fungerar relationer i asp egentligen?

Om man skapar relationer mellan olika tabeller

och kolumner i access och går in och tittar på

den i tabellen så finns det en dropdown list innehållande relationens data. Frågan är hur

man använder detta i asp? kan nån förklara eller

ge mig nån bra länk till en sida som förklarar!!

 

 

 

Länk till kommentar
Dela på andra webbplatser

Relationer kan du skapa mellan dina olika tabeller i access.

 

ASP använder du sedan för att hämta data från dina relaterade tabeller

 

Länk till kommentar
Dela på andra webbplatser

så du menar att efter jag gjort relationerna kan komma åt de andra kolumnera i andra tabeller. även om jag bara selectar en tabell.

 

Länk till kommentar
Dela på andra webbplatser

Du får skapa sql frågor som binder ihop de olika fälten i tabellerna

 

ex,

 

Säg att Du har två tabeller en med personer och en med uppgifter om personerna. Sedan har du ett fält i varje tabell som kan koppla ihop rätt person med rätt uppgifter, id fältet.

 

person

id namn

1 Fredrik

2 Göran

3 Nils

 

uppgifter

id yrke adress ort

1 kock nygatan halmstad

2 polis storgatan halmstad

3 biolog köpmansgatan halmstad

 

För att få fram att Göran är polis och bor i halmstad måste du skapa en sql fråga

 

sql = "select * from person, uppgifter where person.id=uppgifter.id and person.id=2"

 

För att få ut resultat på din asp sida får göra en koppling till databasen

 

Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb") & ";Jet OLEDB:Database Password=ösenord;"

Set RecSet = Server.CreateObject("ADODB.Recordset")

RecSet.Open sql, Connect, AdOpenForwardOnly, AdLockReadOnly

 

Response.Write RecSet("namn")

Response.Write RecSet("yrke")

Response.Write RecSet("ort")

 

RecSet.Close

Set RecSet = nothing

Connect.Close

Set Connect = nothing

 

 

[inlägget ändrat 2003-04-03 19:04:12 av Mr Orange]

Länk till kommentar
Dela på andra webbplatser

Relationer som du gör i access har med andra ord inget med de relationer du gör i aspsidan, i sqlfrågan.

Om man vänder på det, du behöver inte göra en relation och koppla tabellerna i access för att göra det i sqlfrågan i asp.

(Dock kan det ju vara en fördel eftersom access kan generera en mer eller mindre färdig sql-fråga till dig.)

 

 

Länk till kommentar
Dela på andra webbplatser

 

på vilket sätt tjänar man på det?? hur kan access generara denna färdiga kod? fortfarande inget konkret svar hur man skall använda det?

 

tacksam för alla svar

 

Länk till kommentar
Dela på andra webbplatser

hej!!

där finns fortfarande ingen kod som kan göra mitt liv lite lättare.. eller ett exempel på hur man tillämpar detta i asp!!!

 

Länk till kommentar
Dela på andra webbplatser

Magnus Gladh

Du kan inte gör det så enkelt i ASP som det blir i Access.

 

Utan vad du får göra är att ställa en ny SQL fråga till den tabell som visars i Access.

 

Säg att du har 2 tabeller. OrderHeader och OrderItem.

om du i Access klickar på någon OrderHeader, så kommer ett litet + tecken och trycker du där så visas alla orderItems som tillhör denna OrderHeadern.

 

För att göra detta i ASP så behöver du 2 SQL frågor, här kommer ett exempel (det behövs mer kod för att få det att fungera):

 

...
sSQL = "SELECT [iD], [Date] FROM [OrderHeader] WHERE [iD_Customer] = 1"
oRecord = oConnection.Execute(sSQL)

do until oRecord.eof
response.write "ID = " & oRecord("ID") & " : Date = " & oRecord("Date") & "<br>"

'-- här plockas alla orderItems ut
sSQL = "SELECT [ProductID], [Quantity], [Price] FROM [OrderDetails] WHERE [iD_OrderHeader] = " & oRecord("ID")
oRecordItem = oConnection(sSQL)

do until oRecordItem.eof
	response.write " - Product = " & oRecordItem("ProductID") & " : Antal = " & oRecordItem("Quantity") & " : Pris = " & oRecordItem("Price") & "<br>"
	oRecordItem.movenext
loop

orecord.movenext
loop
...

 

Som du ser så måste du för varje OrderHeader som du visar göra en fråga mot databasen och hämta alla OrderItems för den orderHeadern. Nu kan man lösa detta med 1 SQL fråga men det visar vi inte nu.

 

- Magnus

-----------------------------------------------------

Jag är inte kaxig, jag är bara så jävla bäst...

 

[inlägget ändrat 2003-04-04 09:22:48 av Magnus Gladh]

Länk till kommentar
Dela på andra webbplatser

Sorry att jag inte svarat tidigare, märkte nyss att Outlook anser mail från Eforum vara spam o slänger dom i papperskorgen direkt. :)

 

Angående att Access kan hjälpa, även med lite mer avancerade sqlfrågor då syftar jag på följande:

 

Du gör dina kopplingar i access samt gör en fråga, query, där du väljer det du vill plocka ur från de olika tabellerna.

När du är klar får du oftast fram en "datasheet view" där kan du välja "sql view" och du har en färdig sq-fråga.

 

[inlägget ändrat 2003-04-09 17:28:08 av solbulle]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...