20. februar 2013 - 18:09Der er
15 kommentarer og 1 løsning
Kan jeg kopiere en feltværdi fra underformular til hovedformular med vba
I en hovedformular har jeg et felt "Number" som henter relaterede data i TblA. Desuden har jeg en underformular hvor TblA er postkilde. Feltet "Number" findes også i underformularen. Spørgsmålet er, kan jeg ved at markere en værdi i feltet "Number" i underformularen overføre denne værdi til hovedformularens felt "Number" og derved hente de relaterede felter til hovedformularen.
Normally a sub form contains one or more records which are related to the record in teh main form. Why woul dyou want to copy data from the selected sub form record into the main form?
That would mean each time you select a record in the sub form you copy data to the main form and overwrite the previous data.
Maybe you should explain in more detail. With an example maybe.
I underformularens Number felt kan du i AfterUpdate/EfterOpdatering lægge: Me.Parent.Number=Me.Number (Hvis du kører kode i hovedformularens Number felt, skal denne nok også fyres af, når underformularens Number opdateres)
I hovedformularens felt "Number" skal indtastes en værdi f.eks. AMTS110000 eller AMTS11oo0345 o.s.v. hver værdi henter de relaterede data i tabellen. Grunden til at jeg har oprettet en underformular er at man ikke i hovedet kan huske numrene og det sæt data der er i posten. I underformularen kan jeg se "AMTSNumber" + et felt, som fortæller mig, hvad posten indeholder. Det er meningen, at hver gang jeg åbner hovedformularen, skal jeg indtaste "AMTSNumber" for at hente posten med det specifikke "AMTSNumber" og gemme nye oplysninger i posten. Oplysningerne bliver gemt i TblB som er relateret til TblA.
Jeg har prøvet at lægge den kode som fdata foreslog ind i underformularens felt "Number" (after update) men det virker ikke.
Synes godt om
Slettet bruger
21. februar 2013 - 13:24#6
Sidder og får en fornemmelse af at her gøres noget lidt bagvendt. Det udelukke selvfølgeligt ikke at det kan lade sig gøre - men her er blot min mening om den oplagte måde
TblB i underformular til Formular baseret på TblA, linket over Number En ubundet kombinationsboks på hovedformular, hvor første kolonne er Number med en afterupdate event der udfører filtrering på hovedformular:
Det er en mulighed som jeg har overvejet, men er gået bort fra den. Grunden er at jeg i kombinationsboksen skal have vist Number og en beskrivelse af hvad postsættet med det pågældende Number dækker, og det giver en stor og akavet kombinationsboks som dette
Number Beskrivelse 1 4 spande maling - en rød, en grøn, en sort, en blå 2 4 spande maling - en rød, en grøn, en sort, en hvid
Feltet beskrivelse i kobinationsboksen ville blive meget stort.
Synes godt om
Slettet bruger
21. februar 2013 - 15:30#8
For at udtrykke det med andre ord - ønsker du at gå til den post i hovedformularen hvis datakildes felt med navnet Number har samme værdi som Number i valgte post i underformularen?
Det fordrer at Number er Unique i Qry - at opdeling i TblA og TblB, set udfra problematikken her, ikke er nødvendig da TblB blot er en 'udvidelse af TblA med felter' (du kan have grunde vi ikke kender)
Omvendt, hvis en post i TblA virkelig refererer flere poster i TblB over Number, som dermed ikke er Unique i Qry, fordrer positionering til en post i Qry's formular udpeget af en post i TblB, at der anvendes så mange felter at udpegningen bliver unique
Til det første "ja" Feltet "Number" er unikt. Jeg prøver lige at forklare engang til. TblA. Et sæt poster for hver med sit "Number"."Number" er unikt. TblB. Felter hvor der kan indtastes oplysning + "Number" QryQ har felter fra TblA og TblB. FrmF har QryQ som postkilde. Når jeg indtaster et tal i TblB "Number" hentes de relaterede felter fra TblB. Problemet er, at jeg ikke kan huske hvilken beskrivelse de enkelte tal som indtastes i felter "Number" henviser til. Jeg kunne gøre det manuelt på følgende måde. 1.Markere feltet i underformularen. 2.Kopiere feltet. 3.Indsæt det i hovedformularens felt "Number" og trykke enter. Men det er en lidt akavet måde, hvis man ved at markere feltet i underformulen kan gøre det samme.
Synes godt om
Slettet bruger
21. februar 2013 - 18:33#10
Jeg forstår desværre ikke hvad du mener med at indtaste et tal 'i en tabel' hvorved der hentes relaterede felter - ikke kun i #9, men også i #1 og #3. Jeg kender desværre ikke til sådan en 'hop til det jeg skriver i en tekstbox' formular type ellers også har jeg helt glemt det. Nuvel - du har uddybet en del og vi må håbe at andre kan hjælpe.
Jeg kan godt se at mit indlæg #9 virker noget forvirende, så jeg prøver en sidste gang. Ref. til indlæg #8. Til det første "ja" Feltet "Number" er unikt. Jeg prøver lige at forklare engang til. TblA. Indeholder en række felter med oplysninger + feltet"Number". "Number" er unikt. TblB. Indeholder en række felter hvor der kan indtastes oplysning + feltet "Number" TblA og TblB i QryQ er relateret gennem felterne "Number" FrmF har QryQ som postkilde. Når jeg indtaster et tal i FrmF felt "Number" (QryQ TblB "Number") hentes de relaterede felter til FrmF fra QryQ TblA. Problemet er, at det er svært huske hvilken beskrivelse de enkelte tal som indtastes i felter "Number" henviser til. Jeg kunne gøre det med musen på følgende måde. 1.Markere feltet "Number" i den pågældende post i underformularen. 2.Kopiere feltværdien. 3.Indsæt feltvædien i hovedformularens felt "Number". 4. Jeg kunne også indtaste værdien fra felt "Number" direkte i hovedformularens felt "Number", men det giver mulighed for fejlindtastning. Det bedste løsning ville være, hvis man kunne markere en "Number" værdi i underformulen. Håber virkelig at jeg nu har givet en ordentlig forklaring.
Hvorfor skulle jeg ønske at vise min hovedformular i dataark? Man har vel en formular for at gøre indtastninger lettere. Linket siger mig intet udover at der er 2 tabeller. Jeg er ked af hvis mit indlæg og mine besvarelser har haft en irriterende virkning på nogle brugere, hvilket absolut ikke har været hensigten. Jeg stillede et spørgsmål og gav nogle besvarelser på modspørgsmål så godt jeg kunne, men det kan jo være at der ikke var point nok. Jeg giver da gerne flere point, men tidligere har brugere givet udtryk for at pointtildelingen skulle sættes i relation spørgsmålets sværhed, og det kan jeg ikke bedømme. Jeg er ikke ekspert i access. Det er jo netop derfor at jeg er i dette forum. Hvis alle var eksperter ville der ikke være behov for "Eksperten"
Jeg blander mig lige igen og vender tilbage til dit oprindeligt spørgsmål. Jeg kan se, at jeg manglede en detalje. Me.Parent.Number=Me.Number skal ganske rigtigt ligge ligge i underformularens Number felts AfterUpdate/EfterOpdatering; MEN den skal også ligge i OnCurrent/VedAktuel, eller udføres den jo kun, når du retter Number og ikke hvis du bare skifter post.
Jeg har lagt koden "Me.Parent.Number=Me.Number" i "AfterUpdate" og og "VedKlik" i underformularens Number felt. Det virker som nøjagtigt som jeg ønskede. Tusind tak for din tålmodighed og point til dig.
Ja, der var jo nok lidt for mange vejbump undervejs ;o) Det vigtigste er at du nåede frem til det ønskede resultat. Takker for point.
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.