07. oktober 2005 - 11:35Der er
9 kommentarer og 1 løsning
Opret ny post ud fra eksisterende.
Hejsa.
Jeg har behov for at kunne oprette en ny post i en tabel ud fra en allerede eksisterende post, da nogle poster ligner hinanden og derfor gøres indtastningen hurtigere hvis halvdelen allerede står der. Jeg vælger posten i min tabel ud fra 2 combo box'e som jeg også fik hjælp til at lave her på eksperten. http://eksperten.dk/spm/653174
Nu skal der så ud over at være en knap til at åbne den post man har valgt, så også være en knap til at oprette en ny post ud fra den man har valgt. Kan ikke noget VB, så ved ikke helt hvordan det skal gøres, er klar over funktionen dupliker post, men er ikke kommet længere. Nogen der kan hjælpe??
Kan du forklare lidt nærmere, jeg forstår ikke helt problemet: "Jamen nu skal knappen jo befinde sig på den anden form hvor jeg vælger varen der skal laves en ny post ud fra."
Denne går til formularens (Form1) nye post: DoCmd.GoToRecord acForm, "Form1", acNewRec
Når du bruger navnet på formularen (Form1) skal denne være åben, eller du skal åbne den først: "den siger at formen (detaljer) ikke er åben hvis jeg kører knappen i formen (start)."
Denne kopierer den aktuelle post åbner en ny formular og indsætter den kopierede post:
Hejsa. Jeg har nu prøvet at sætte det ind, men jeg får en fejlmeddelelse der siger: None of the fieldnames you pasted onto the clipboard matches the field names in the form.
Så står der en lidt nærmere forklaring, men jeg kan ikke rigtig læse mig frem til hvordan jeg kan løse det.
Hmm, har lige forsøgt lidt igen. Den kommer så op og siger at den ikke kunne indsætte i felterne og at den opretter et nyt table til de pastede informationer. I det nye table står der så CategoryID og Varenavn. Ved ikke om det er til nogen hjælp.
"None of the fieldnames you pasted onto the clipboard matches the field names in the form."
Betyder, at du har kopieret en del felter der nu ligger i clipboard. Herefter prøver du at sætte den ind i en ny formular der ikke har samme feltnavne. Hvis du f.eks. har et felt på den første formular du kopierer, så vil Access jo prøve at indsætte data i den nye formular's felt1, men hvis ikke der findes et felt1, vil du få en fejl. Altså: Begge formularer skal indeholde samme felter. Det er muligt at omgå dette ved at oprette en række variabler eller køre en SQL der sender data ind i formularen selv hvis disse har forskellige feltnavne.
"CategoryID og Varenavn" Er "CategoryID" tabellens primære nøgler, eller er det indekseret så der ikke tillades dubletter.
Den kode jeg har sendt tidligere fungerer idet den er afprøvet også her på eksperten, men det forudsætter at formularerne har samme feltnavne. Kan du give nærmere oplysninger om hvad du egentlig prøver på, og hvordan dine formularer / tabeller er skruet sammen. Evt. kan du sende db til:
mugs@mail.dk
Så vil jeg se på den ved først givne lejlighed. Husk evt. at zippe den.
Hej Mugs. Jeg har kigget lidt på den database du sendte, og den gør ikke lige det jeg søger. Min ide var at kopien skulle være fyldt ud med alt data fra den valgte post. Derimod brugte jeg koden du sendte i første omgang og lavede lidt om på den. Jeg har nu gjort det sådan at den først åbner den valgte form, og derefter så kopiere alt data i den, så opretter den en ny, og så paster jeg alt data til den. Det fungere fint, udover en meddelelse helt til sidst hvor acces siger at man har tilføjet en stor datamændge til udklipsholderen og om man vi sætte det ind? Er der en måde at slippe for den?
(koden ser nu sådan ud til knappen): Dim stDocName As String Dim stLinkCriteria As String
Når jeg bruger den kode får jeg ikke meddelelsen om udklipsholderen. Jeg har herller ingen erfarin med at fjerne den. Ideen med koden er, at du allerede står i formularen "Detaljer" og kopierer den aktuelle post og indsætter den som en ny post. Det må have noget at gøre med, at du flytter data fra en formular til en anden.
Du åbner jo "Detaljer" og søger efter en eksisterende post med denne linie:
DoCmd.OpenForm stDocName, , , stLinkCriteria
Derefter kopierer du denne post og indsætter den som en ny post. Så du har en arbejdsgang mere en jeg har.
Du kan evt prøve at oprette nogle variabler:
Dim VARa as string, Varb as string o.s.v. VARa = Me!feltnavn VARb = Me!andet feltnavn o.s.v. DoCmd.GoToRecord acForm, "detaljer", acNewRec Me!feltnavn = VARA Me!andet feltnavn = VARb o.s.v.
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.