Kopier 3 felter fra record hvis de findes i tabellen
Hvordan får man kopieret 3 felter fra record hvis de findes i tabellen. Jeg har forsøgt med Dlookup og med opslag. Jeg har en tabel hvor nogle af recorderne er ens i 3 af felterne. Når jeg skal udfylde en ny record vil jeg gerne have at acces selv skriver de 3 felter hvis identen findes i forvejen. Identen har dublanter og ligger i samme tabel. Kan det lade sig gøre og er der nogen som har en brugbar kode.
Jo det har du ret i men. Jeg kunne have lavet en tabel med identer, det er bare ikke gjort og bliver ikke gennemført., så hvis du har en ide alligevel hører jeg gerne.
Formen åbner i tilføj record/post. Når jeg taster et regnr som eksisterer, så skal Navn og adresse udfyldes automatisk (kopieres fra gl post og indsættes i den nye post)
Du kan lave noget som virker med en opdateringsforespørgsel, lidt a´la dette :
UPDATE tblData INNER JOIN tblData AS tblData_1 ON tblData.Regnr = tblData_1.Regnr SET tblData_1.Navn = [tblData]![Navn], tblData_1.Adresse = [tblData]![Adresse] WHERE (((tblData_1.Navn) Is Null)) OR (((tblData_1.Adresse) Is Null));
Det ideelle ville naturligvis være, hvis du havde een tabel med kunder ( Regnr, Navn og adresse ) og så udelukkende benyttet Regnr i dine efterfølgende registreringer, med relation til kundetabellen.
Nej, det er een og samme tabel ( tblData ) du medtager to gange i forespørslen. Denne sammenligner så med sig selv på de blanke poster ( Is Null ), og opdatere disse, hvis der findes relaterede poster ( SET tblData_1.Navn = [tblData]![Navn] )
Har du hel syntaksen ?: Runsql UPDATE tblData INNER JOIN tblData AS tblData_1 ON tblData.Regnr = tblData_1.Regnr SET tblData_1.Navn = [tblData]![Navn], tblData_1.Adresse = [tblData]![Adresse] WHERE (((tblData_1.Navn) Is Null)) OR (((tblData_1.Adresse) Is Null));
Har jeg ret: Docmd.runsql UPDATE tblData INNER JOIN tblData AS tblData_1 ON tblData.Regnr = tblData_1.Regnr SET tblData_1.Navn = [tblData]![Navn], tblData_1.Adresse = [tblData]![Adresse] WHERE (((tblData_1.Navn) Is Null)) OR (((tblData_1.Adresse) Is Null));
Når jeg f eks tapper ned på næste felt, så skulle navnet og adressen dukke op. Me.Refresh vil ikke køre. Selv om jeg vælger opdater i menuen så dukker navn og adresse ike op i felterne i aktuelle post. Når jeg har lukket formen og genåbnet så kan jeg navigere tilbage og se at Navn og adresse er blevet indsat ?
ja lidt, Hvis jeg taster "Enter" og går tilbage til posten, så er navn og adresse blevet indsat. Nu roder jeg med en kode som vil flytte frem og tilbage ved at jeg taster "tap". Jeg har prøvet: Recordset.Movelast Det er ikke godt.
Håber, at dit ping-pong med jensen har fået dig tættere på en beskrivelse af problemet. Foreslår, at du lukker og stiller et nyt og mere præcist spørgsmål - nyhedens interesse er vist stor herinde.
Jeg har lavet en function og kalder den fra feltet "Regnr" ------------------------------------------------- Call Opdater_kode1 Forms!Indtast_data_rediger.Refresh Call Opdater_kode1 Forms!Indtast_data_rediger.Refresh [Navn].SetFocus ------------------------ Og det virker. Det underlige er bare at der skal laves refresh 2 gange ?
Ok, det er sjældent at vi IT'ere forsker i ting, der virker - så jeg synes bare du skal lukke.
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.