11. november 2010 - 18:07Der er
13 kommentarer og 1 løsning
gerne have access til automatisk genkende navnet i en kolonne og udfylde flere felter.
Hej derude.
Jeg håber der en flink person der kan hjælpe her.
Jeg sidder med en Access 2007 skibs database. Den har ca 800 poster hver post består af 14 kolonner. Nu begynder jeg at indskrive nogle gengangere. Her vil jeg gerne have access til automatisk genkende navnet i en kolonne (SKIBSNAVN), hvis den er skrevet før skal den selv udfylde 7 andre kolonner med data som tidligere er skrevet. Disse data er nemlig statiske for skibet . Resten af kolonnerne skal den ikke gøre noget ved. Nogle af disse kolonner som automatisk skal hentes er opslags kolonner.
Håber vi har en der kan hjælpe. Er ikke den skarpeste til access :/ Mvh Peter
Det lyder som om din database ikke er hensigtsmæssigt konstrueret.
Du bør have en tabel for skibet med de data der er statiske for skibet, og så have en anden tabel hvori du har en reference til skibet (altså en kolonne der indeholder unikt id for skibet) samt dine øvrige data.
Derved undgår du at skulle indtaste samme data flere gange og du undgår risikoen for inkonsistens i skibsdata.
DIn tabel er ikke normaliseret - i normalt sprog betyder det, at du har gentagne data knyttet til et skib, og burde have en separat tabel med skibsdata :-)
Men ellers - hvis du har en formular til at opdatere data med, så for den textbox, hvor du indtaster skibsnavn, kan du i AfterUpdate-eventet køre en forespørgsel som leder efter fil navnet, og hvis den finder det, så tager den DLOOKUP for hvert af de allerede kendte felter og finder den pågældende værdi, og lægger dem ind i den bundne tekstbox som nu hører til.
Jeg takker for jeg hurtige svar, og er frisk på at springe ud i det.
Det jeg skal er at lave en ny data ark som jeg døber "skib". Det skal så indeholde de 7 kolonner med statisk data.
Men hvordan for jeg lige overført de 600 poster til dette nye dataark? copy/past kan jeg kun kopier et felt af gangen.
Derefter skal jeg have lavet et nyt data ark "SAMLET med relationer fra skib også de resterende kolonner.
Dette dataark "SAMLET" bliver så mit arbejdesark. Men hvad så når jeg begynder at udfylde nye poster med nye skibe. bliver de så automatisk lagret in "skib" arket? Så de også bliver mulige at hente deres data?
Den SQL model kan jeg desværre ikke lige finde ud af.
Men har nu lavet et ark med skibsdata. når jeg så bruger guiden opslag i et nyt ark og finder skibsdata felterne. Så bliver det kun det øverste felt jeg for præsenteret i dette tilfælde skibsnavn. Men ønsker alle felterne præsenteret i dette nye ark. Har prøvet at lave opslag for hvert enkelt felt. Men så skal de hver især udfyldes.
Men ellers - hvis du har en formular til at opdatere data med, så for den textbox, hvor du indtaster skibsnavn, kan du i AfterUpdate-eventet køre en forespørgsel som leder efter fil navnet, og hvis den finder det, så tager den DLOOKUP for hvert af de allerede kendte felter og finder den pågældende værdi, og lægger dem ind i den bundne tekstbox som nu hører til.
Det her lyder som en løsning jeg kunne bruge. Kan du uddybe den lidt?
Du skal bruge forespørgsler til at kæde dine to tabeller sammen, så du kan se al informationen på en gang.
Jeg kan ikke lige gennemskue om det er for stor en ændring for dig at lave strukturen om.
Men omvendt hvis du vil undgå dobbeltindtastningerne, så er du nødt til at lære noget mere om Access, hvad enten det så er noget om normalisering og forespørgsler som vi har gang i her, eller noget om programmering, som evt. kunne udfylde felterne for dig i en ikke-normaliseret tabel.
Men umiddelbart tænker jeg om det ville være en løsning for dig at arbejde i Excel fremfor Access - der kan du jo let kopiere de 7 skibskolonner fra en anden række og så udfylde de sidste kolonner? Og hvis du kun har den ene tabel, så kunne du vel ligeså godt have det i et Excel-ark eller?
Dit problem kan ellers nemt løses, men det vil være nemmest hvis jeg kan se data og database!~)
Synes godt om
Slettet bruger
30. december 2010 - 09:38#14
Helt kort kan jeg sige, at dit felt skibsnavn, skal laves om til et dropdown felt. Som kilde sætter du en DISTINCT forespørgsel, der indeholder de 7 kolonner. Så sætter du alle andre kolonnebredder end skibsnavn til 0. På EfterOpdateringshændelsen for feltet skriver du så noget i retning af:
Hvis du så indtaster et nyt skibsnavn og dens data, så næste gang du åbner databasen, så vil den også være med på dropdownlisten!~)
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.