Avatar billede dtc Nybegynder
10. april 2002 - 11:00 Der er 4 kommentarer og
1 løsning

RELATIONER.........

RELATIONER?????

Hej jeg er i gang med at lave et servicemodul til registrering af servicebesøg!

Jeg har oprettet en accesdatabase - med en tabel som hedder users!!! Når en kunde nu logger ind - skal han have mulighed for en historik over hvornår vi sidst var hos ham mv......i form af en knap han kan klikke på - eks. HISTORIK.

Når han klikker på denne skal han få en komplet oversig over vores besøg - dvs. at jeg havde forestillet at jeg opretter en tabel mere i databasen - eks. servicehistorik - hvor username i min usertabel = username i servicehistoriktabellen - dvs. relation imellem de 2 tabeller.

MEN hvordan laver man det???? Jeg kan godt finde ud af at lave selve relationen i acces - men hvordan får jeg koblet det sammen at når username 74545454 klikker på "HISTORIK" så får han de oplysninger der står under hans username i servicehistoriktabellen????

Det er selve ASP koderne der driller!!!!

Avatar billede coltau Juniormester
10. april 2002 - 11:22 #1
Du har ikke umiddelbart nogen gavn af Access-relationer i ASP. Du koder jo relationer med SQL-udtræk alligevel.

Når bruger logger ind skal du gemme ID for hans record i en session-variable:
' Kontroller bruger i DB - hvis OK så
Session("ID") = RS("ID") ' ID-nummer på record i users
Så har du altid brugers ID og kan slå record op hvis det bliver nødvendigt

Når du så skal vise historik på bruger skal du anvende dette ID-nummer, som jo findes i historik-tabellen.

Her får du fat i den aktuelle bruger.
SQL = "select * from users where ID=" & Session("UserID")
(Hvis du samtidig skal vise hans navn eller lign.)

Her henter du historik:
SQL = "select * from historik where userID=" & Session("UserID") & " order by dato desc"

Det vil sige at relationerne er således:

TABEL:users
ID = Autonummer
user = brugernavn
pass = Password
osv ...

TABEL: historik
ID = Autonummer
userID = tabel:users.ID
Dato = Dato
osv ...

Håber det kan hjælpe lidt.
Avatar billede dtc Nybegynder
10. april 2002 - 12:55 #2
Hmmmm.....det forstår jeg ikke helt - prøv at se mine koder!!!!
Tabel2 hedder "service" og jeg har felterne "username" og "test"

KODER:

<%
Response.Buffer = True
SET rs = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DB.mdb")

if request("Mode") = "logaf" then
session.Abandon
Response.Redirect("default.asp")
end if

' Chekker om brugeren har en session.
' Hvis ikke så smides han af
IF Session("password-session") = "" Then
Response.Redirect("Default.asp")
end if

Sql = "Select * FROM users WHERE username = '" & session("password-session") & "'"
set rs = rs.Execute(SQL)
%>
Avatar billede coltau Juniormester
10. april 2002 - 14:19 #3
Så vil jeg klart anbefale at dine tabeller ændres til dette:

TABEL:users
ID = Autonummer
username = brugernavn
password = Password

TABEL: service
ID = Autonummer
userID = relation til feltet ID i users
Dato = Dato ' En dato skal der vel være
test = tekst

Men det betyder at din Session("password-session") skal ændres til at indeholde ID-nummer fra den bruger der er logget ind. Det bliver meget nemmere at styre med et ID-nummer i stedet for et username som link mellem de to tabeller. (Det fylder også meget mindre.)

Håbder du er med.
Avatar billede dtc Nybegynder
10. april 2002 - 15:52 #4
Hmmm....jeg synes jeg prøver og prøver, men jeg løber panden mod muren konstant!!!!!! Jeg er ret ny til ASP - derfor er det lidt svært endnu!!!!

Så jeg er ikke helt med hvad du mener......
Avatar billede dtc Nybegynder
16. april 2002 - 08:05 #5
Hmmmm....der er vist ingen der gider hjælpe!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester