webForumDet fria alternativet

Kopiera fältvärde till annan tabell

Databaser & SQL

6 svar · 486 visningar · startad av loboz

Medlem sedan okt. 200155 inlägg
Frågan#1

Hej!

Jag sökt, läst och funderat med inte kunna komma på hur jag skall lösa ett problem jag har. Eftersom jag inte är en "accessexpert" kanske jag byggt lite tokigt från början, men det här är min fråga i alla fall.

Det handlar om ett formulär till en tabell, låt oss kalla tabellen tbl_resurser. I denna tabell finns två viktiga fält. Ett fält som heter Resurs_Kategori och ett fält som heter Resurs_Namn. Min tanke är att när en användare väljer ett specifikt fältinnehåll (från en lista) i Resurs_Kategori, låt oss säga SYSTEM, skall nästa fält resurs_namn kopieras till en annan tabell som heter tbl_system där motsvarande fält finns.

Är det någon som har nån idé om hur jag skall närma mig lösningen för detta, finns några färdiga funktioner i Access som kan hjälpa mig.

mvh

Peter

Medlem sedan mars 20032 667 inlägg
#2

Jobbar du direkt i ms Access eller är det någon fristående applikation som ska sköta detta?

Min spontana tanke är att du bör använda nycklar istället för att ha samma innehåll i flera tabeller. Varje Resurs_Namn har då ett speciellt id som du lagrar i relaterade tabeller istället för innehållet i Resurs_Namn. Visa gärna din struktur för att lättare kunna se knasigheter.

Medlem sedan okt. 200155 inlägg
#3

Utvecklat...

Jo K@llen ,det är rätt och jag är nog lite slarvig med normalisering emellanåt. Jag förstår att jag måste utveckla mitt problem lite.

I det stora hela skulle man kunna säga att när en användare väljer ett värde/namn från en lista i ett formulär så skall värdet/namnet lagras i två olika tabeller. Dels tabellen som formuläret är gjort för men och också till annan tabell och när vissa vilkor uppfylls. Dvs när ett specifikt namn/värde väljs från listan. Men det är inte detta värde/namn som skall kopiera utan ett annat i den förstnämda tabellen, så själva "kopieringen" skall ske när detta fält fylls i.

Tänkte mig att nåt slag SQL-uttryck skulle kunna göra jobbet, typ:

INSERT INTO tbl_system (system_namn)
SELECT res_namn FROM tbl_resurser
WHERE res_kat = It&Informationssystem

...och som körs när man lämnar fältet system_namn (då är redan värdet för res_kat inmatat genom formuläret).

Men jag är osäker på hur jag skiver detta i access kodverktyg. Är det SUB jag skall använda och hur startar man resp avslutar man denna SUB med SQL-uttrycket i. :OO

mvh

Peter

Medlem sedan juni 200032 967 inlägg
#4

Men jag är osäker på hur jag skiver detta i access kodverktyg.

http://www.webforum.nu/showthread.php?p=126992#post126992

Mvh

Medlem sedan okt. 200155 inlägg
#5

tackar för svaret

Om jag förstod dig rätt så menar du att jag gör en fråga med SQL-uttrycket och kör det som händelse, t.ex. när jag lämnar ett specifikt fält?

mvh

Peter

Medlem sedan juni 200032 967 inlägg
#6

Jag tror att jag kan ha missuppfattat din fråga en aning, loboz. Jag läste lite för snabbt i ditt senaste inlägg och jag besvarade egentligen bara frågan "var i Access skriver man SQL-frågorna". Ledsen för det! :)

Medlem sedan okt. 200155 inlägg
#7

Det är okey @nders, men jag skall erkänna att funderade en hel del på den lösningen men fick inte det att funka ;)

Kanske nån annan har en idé?

MVH

Peter

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)