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!
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!?
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:
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.
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...
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).
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...