jvc_manMedlem sedan okt. 2003165 inlägg Hej!
Jag har en access databas som består av väldigt många tabeller. Ex. i tabellen X så lägger jag till mina filmer och i tabellen Y & Z så finns det olika genre som är kopplade till tabellen X.
Dvs, i tabellen X så lägger jag till (Titel, Genre1, Genre2), Genre1 ligger i tabellen Y och Genre 2 ligger i tabellen Z. Så när jag skriver in Genre1 och Genre2 så väljer jag (slår upp värdena) i de två tabellerna. Hoppas ni hänger med, väldigt simpelt, dock så blir min förklaring lite konstig! :r
Det är ej oblikatoriskt att välja både genre1 och genre2.
Problem: Om jag valt både genre1 och genre2 och vill ändra filmens genre genom att använda asp-script. Dvs asp-programmering så blir det inte som jag vill. Om en film har både genre1 och genre2 och jag slår upp en ny huvudgenre (genre1) till den via forumlär kod och asp-kod och sedan uppdaterar så finns ju fortfarande genre2 kvar. Genre1 är ju ändrat så klart. Dock, om jag väljer att skriva:
bla bla bla. RecSet("Genre2") = ""
så blir det ju fel, för det finns ingen rad i tabellen Z som har "" som värde... Dock om jag går in i tabellen (access) och suddar ut det som står på genre2 i tabellen X så funkar det,
så det jag vill veta är hur man kan nollställa ett fält som har en databaskoppling och egentligen skall slå upp värden, i asp-prog!?
Hoppas någon förstår samt kan hjälpa mig!
Mvh Björn M
Jag förstår inte varför du har olika tabeller för olika genrer?? Det är en onödig försvåring av din situation. ;)
Jag ser två alternativ:
1. Två tabeller - en med alla filmer, en med alla genrer
2. En tabell - med både filmer och genrer. För varje film som finns så har du en kolumn för dess genrer. I denna kolumn kan du komma-separera genrerna för att det ska bli enklare att skriva ut sen. Alternativt kan du ha två eller tre kolumner för genrer, och när du ska skriva ut en lista med alla genrer totalt så tillämpar du bara distinct i din SQL-fråga.
Alltså: om du kör med en tabell kan den se ut så här:
id | film | g1 | g2 | g3
där g står för genre.
Hoppas du förstod mig,
jvc_manMedlem sedan okt. 2003165 inlägg Hej!
Nja, men det är inte allt, asså, det jag har gjort måste vara som det är, alla kategorier är ju tvungna att också vara sammankopplade, så: Tabellen för filmer tar kategorier från både T-kat1 & T-kat2 & T-kat3 & T-kat4.
I T-kat1 så finns en kategori med ett id samt så finns ett id från T-kat2 som visar vilken underkategori denna kategori har, osv ner till T-kat4 där det finns id från både kat1 & kat2 & kat3.
Så var hela sanningen, men hur kan man göra i asp så att man tömmer ett fält i tabellen "Filmer", dvs om jag har alla 4 fälten med kategorier ifyllda men vill ändra det så att endast fältet för kategori1 är ifyllt... Det går som jag sade i access, bara deleta innehållet och spara, men i asp-kodningen så genereras det error, ogiltigt värde eller liknande.
Hoppas du förstår och kan hjälpa...
Mvh Björn
jvc_manMedlem sedan okt. 2003165 inlägg Hoppas någon finner svar på tråden...
I a f innan den hamnar på sista sidan.
Problem: Hur nollställer man ett "bundet" fält i access via asp-programmering, funkar ej med RecSet("kat") = "" , med anledning att inte "" finns att slå upp. Dock funkar det i access att sudda ut innehållet och nollställa...
Mvh
OveRRidEMedlem sedan feb. 200112 078 inlägg Vad menar du med 'bundet' fält?
jvc_manMedlem sedan okt. 2003165 inlägg Hej!
Att fältet slår upp värden ur ett annat fält i en annan tabell, så att endast de värden som finns i det andra fältet i den andra tabellen är tillåtna, samt!: om fältet är tomt från början, det är ju också tillåtet! Men, om man slår upp ett värde i ett fält och sedan suddar ut det så är det inga problem i accessm den accepterar ändringen, men om man gör det i asp så genererar den error, dvs otillåtet värde angivet, för om jag försöker sätta RecSet("kat") = "" så försöker den finns "" (ingenting) i den andra tabellen där den slår upp sina värden, och det finns ju inget som är ingenting...
Hur skall jag då skriva i asp för att göra som i access, (bara radera innehållet med del).
Mvh
jvc_manMedlem sedan okt. 2003165 inlägg Hej igen!
Nu syns inte ens min lilla tråd längre... =(
Är det möjligtvis verligen ingen som kan hjälpa mig att plocka bort "texten" i ett fält i access via asp, om fältet är länkat...
Snälla, behöver verkligen någons hjälp nu!
Mvh Björn
Engine^Medlem sedan dec. 20003 887 inlägg Använder du dig av lookup? Är det det du menar med bundet?
Hursomhelst, om du tillåter null-värde i fältet bör du kunna "ta bort" värdet med
UPDATE [i]tabell[/i] SET [i]kolumn[/i] = NULL WHERE [i]id[/i] = [i]hirr[/i]
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Bundet fält, du menar att du har dragit relationer och satt referensintegritet? Då kan man inte radera de, ta bort relationen.
Har inte läst och förstått hur du konstruerat databasen, men håller med m_soderlund om att detta verkar otroligt krångligt och svårarbetat.
Var finns Genre3? I tabell W? Och Genre 4? I U??
Eller har du endast två genrer och är nöjd med det?
Men om du då vill ha en genre till?
Många frågor som vi inte förstår, men är du nöjd är vi nöjda!
jvc_manMedlem sedan okt. 2003165 inlägg Ahh, tack för hjälpen!
Hade helt glömt bort att man kunde använda "null"
Tack så mycket, nu funkar det allra sista på hemsidan! =)
Mvh Björn