16. maj 2002 - 08:59Der er
24 kommentarer og 1 løsning
Sekundær nøgleoverførsel
Hej Igen,
da der var god succes med mit sidste spg. prøver jeg lykken igen.
Jeg vil gerne skrive i to tabeller fra samme form - no problem, men da de tabeller relaterer til hinanden ville jeg gerne kunne overfører primærnøglen fra TabelTest (i eks. benævnt id) til et sekundærnøgle felt i TabelTest2. Jeg har prøvet med nedenstående, men den smider ikke id-feltet over i TabelTest2. Kan forøvrigt ikke gennemskue hvordan jeg sikre mig at jeg får den "rigtige" værdi på id feltet med over.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Why are you INSERTING to record with SQL, cant you enter the data directly into the form and let Access do the work! If you have table it as the main form and tabel2 on a sub form then it will all happen automatically
I'am quite new to using Access, normally i work with Lotus Notes so i don't know much about syntax and the possibilities provided by Access. Is it possible to control more subforms into a main form?
I will need to have different subforms selected by some controls i the main form.
You can have a main form and then MAYBE a TAB control where you can have a sub form on each TAB! Hope you understand what I mean.
Try this: Lets say that all your tables and relationships are in place.
Make a form using the form wizard. Choose table1 as the source. Then make a form again using the wizard this time choose table2 as the source.
With the frist form in design view drag and drop form2 onto form1! IF your relationships are in order it will place form two onto form one and automatically make a LINK between the forms using the primary key/foreign key relationship!
As I mentioned you could first add a TAB control to form1 and then drag and drop form2 onto the first tab and maybe another form on to another tab.
You can also try using the form wizard, this time selecting fields from TWO tables. If Access can see the relationship it will ask you if you want to create a sub form.
I'm affraid i need two/more different forms. And therefor I need to get the primary key from the one tabel to use as foreing key in an other table.
The system i am constructing shall handle firefighting equiptment including the stockposition of them one type of equiptment may be stored in different places eg 10 ladders in that warehouse and 23 of the same type of ladders in an other warehouse.
I have tried getting the id value from the Equiptment tabel by this SQLstatements:
idname = TekstNavn.Value Find = "SELECT id FROM Test.TabelTest WHERE Navn = idname" testid = DoCmd.RunSQL find
and then "putting" testid into an INSERT INTO statement
but it won't run.
I therfor need to "transfer" values from the "make new equiptment" form to the "place" form. So that i can get the correct foreing key into the place table.
Thanks Once againg for you paciens (wrong spelled i know) with me
Men har nok fundet ud af at skal bruge to forskellige formularer, så nu "kæmper" jeg med at sætte en felt værdi i en formular i forbindelse med DoCmd.OpenForm "Formnnavn" kommandoen.
Jeg vil simpelt hen sætte en felt værdi i "underformularen" - som er en formular der kaldes fra "hovedformularen" - med indholdet fra et "hoivedformular felt"
OKI - vil bare sikre mig at jeg får lov til at "lege" med i fremtiden.
Desværre kører det ikke helt. Får i hverttilfælde en compile fejl.
Der er jo ikke tale om en "rigtig" subform men om en "almindelig" form hvor jeg gerne vil overføre en felt værdi til. Du får lide en kode snas:
Private Sub OpretAfdeling_Click() sqlstring = "INSERT INTO Test.TabelTest(Navn, Adresse, Telefon) VALUES ('" & TekstNavn & "','" & TekstAdresse & "','" & TekstTelefon & "')" DoCmd.SetWarnings False DoCmd.RunSQL sqlstring DoCmd.SetWarnings True Me.Afdelinsoplysninger!TekstNavn2 = Me.TekstNavn DoCmd.OpenForm "AfdelingsOplysninger" End Sub
Jeg har leget lidt med tanke om "indlejring" (perameteroverførsel) i DoCmd.OpenForm men hjælpefilen (ved godt det er tøset) - giver ikke noget endegyldigt svar.
ps. har du viden om noget litteratur på MS SQL/MS VBA/MS ACCESS, det kunne være godt at kloge i?
Jeg arbejder med et katalog der skal holde på forskellige genstande (nej ikke alkohol) fx. Brandpumper, vi har imidlertid Brandpumper af samme slags placeret flere forskellige steder. Derfor en tabel der holder på karakteristika for Brandpumpen og en tabel der holder på de forskellige placeringer af Brandpumper. Og da vi gerne skulle kunn srørge på "Hvor har vi Brandpumperne henne" skal jeg overføre primærnøglen i Brandpumpe-tabellen til Placeringstabellen som sekundærnøgle:
Brandpumpe Skur nummer1 Brandpumpe Garage nummer 78
OKI - det var lige den syntax jeg manglede. Er normalt Lotus Notes mand - men har et lille projekt kørende i access så selve designet er "nemt" med at "stave" access skal man lige lære....
Det der sker er at du sætter et filter på formularen 'AfdelingsOplysninger'. Du kan lave en knap på formularen der sætter 'filterOn = false' og du kan se alle poster igen.
du siger til når du løber tør for tålmodighed - håber jeg...
Den underliggende forespørgsel siger du - er det det samme som den tabel man ønsker at sætte poster ind i?
Jeg har prøvet at lave et felt i tabellen men jeg får ikke "overført" værdien. Jeg havde forestillet mig at man - ved at have GenstandNavnet = [TekstNavn]på formen StandardOplysninger og overføre det til AfdelingsOplysninger formen kunne SQL'le sig frem til den "rigtige" genstand id og så indsætte denne som sekundær nøgle. Når man kørte ain INSERT INTO sætning på AfdelingsOplysninger. I pseoudokode:
Dim var As String var = SELECT id FROM TabelTes WHERE TabelTest.Navn = AfdelingsOplysninger.TekstNavn
Hi! Not that I dont want to help I just CAN NOT find the time at the moment! I will keep and eye on the question and if I can get time at the weekend will see what I can do. mvh Terry
Hvorfor indsætter du ikke dine poster direkte i formen, istedet for at bruge SQL. En ny Afd. oprettes i form 1, og nytudstyr oprettes i den filtrede form 2.
1) Fordi jeg ikke helt er klar over Access måde at gøre ting på :-( 2) Fordi det senere muligvis skal tilgåes fra nettet via .asp 0-) 3) Fordi jeg synes det er spændende at lege med sql :-)
Problemet med at filtrere opstår fordi jeg ikke ved hvad jeg (kan) filtrere på er det på værdien i Tekstboksen eller er det på feltet i den tabel jeg smider ting ind i? Me. må vel referer til formularen og de elementer der er der på.......
Jeg tror sgu det her ligner at arbejdsgiver må spring med et kursus i MS Access (lidt udover PC-kørekort)...
Jeg tror ikke du skal bruge mere tid på mig - før jeg er blevet lidt klogere så vi taler samme sprog.
Tusind Tak for gode hints - jeg er blevet klogere men vil ikke spilde mere af din tid.
Prøv at sende db'en til mig: nih@mail1.stofanet.dk
ver 97 eller 2000
Niels
Synes godt om
Ny brugerNybegynder
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.