Knop voor het dupliceren/kopieren van een bestaand record

Status
Niet open voor verdere reacties.

michielacceshulp

Gebruiker
Lid geworden
5 dec 2013
Berichten
5
Beste allen,

Ik heb meerdere halve antwoorden gevonden om mijn vraag maar ik krijg het maar niet voor mekaar.

Situatie:
Database + formulier met +/- 80 velden om gegevens naar een word document te mergen (offerte). Een nieuwe klant/record heeft vaak erg veel overlap met record uit het verleden. Kopiëren van de betreffende record levert mij dus een hoop tijdbesparing op.

Benodigd
Een knop boven aan het formulier waarmee ik een willekeurig record dat open staat automatisch dupliceer/kopieer naar een nieuw record.

Ik ben helaas een leek in acces en programmeren. Dus als iemand mij stapsgewijs kan uitleggen welke code ik nodig heb en hoe ik deze werkend als cmdknop krijg heel graag!!

mvg, michiel
 
Ik heb meerdere halve antwoorden gevonden om mijn vraag maar ik krijg het maar niet voor mekaar.
Je hebt natuurlijk maar 2 halve antwoorden nodig voor één werkende :)
Er zijn verschillende opties, maar de handigste stip je zelf niet aan: een kopie op het formulier maken. Al vermoed ik dat je dat eigenlijk toch al wel bedoelt. Omdat je zelf al aangeeft dat je niet alle velden nodig hebt, zou ik de DefaultValue van de gewenste velden aanpassen. Kun je bijvoorbeeld zo doen:
Code:
Private Sub cmdNieuwRecord_Click()
Const cQ = """"
    Me!Bedrijfsnaam.DefaultValue = cQ & Me.Bedrijfsnaam & cQ
    Me!Straatnaam.DefaultValue = cQ & Me.Straatnaam & cQ
    Me!Postcode.DefaultValue = cQ & Me.Postcode & cQ
    Me!Plaats.DefaultValue = cQ & Me.Plaats & cQ
    DoCmd.GoToRecord , , acNewRec
End Sub
 
Laatst bewerkt:
Dag octafish, dank voor de snelle reactie.

Het aangeven welke van de 60/80 velden wel/niet kopiëren is mij niet gelukt. Ik heb daarom het volgende bedacht. De eerste 4 record in de database gebruik ik als basisrecord om te dupliceren. Hier vul ik de velden in die ik gekopieerd wil hebben. De rest laat ik leeg om na dupliceren in te vullen. Kan dit/moeten de velden individueel benoemd worden in de code of is het dus mogelijk om simpel de gehele record te kopiëren?

Alvast dank voor de hulp!
 
Het aangeven welke van de 60/80 velden wel/niet kopiëren is mij niet gelukt.
Voordat je aan rare oplossingen gaat denken (en daar lijkt het een beetje op ;) ) kun je beter eerst kijken waarom je dit niet voor elkaar krijgt. Lijkt mij een stuk handiger. Overigens vind ik een tabel met 80 velden al aardig wat, maar dan ook nog eens 60 velden dupliceren? Heb je de db wel goed genormaliseerd?
 
Er zijn veel variabelen in de offerte, vandaar deze hoeveelheid velden. (zie afbeelding)

database.jpg

Het lukt mij niet omdat ik een leek in codes ben en geen idee heb wat ik waar moet aanpassen ;)

Welke informatie zou ik in kunnen voorzien voor het opstellen van een werkende code?

Mvg Michiel
 
Ik zie een (als alles in één tabel wordt opgeslagen) slecht genormaliseerd formulier. Alle klantinformatie hoort in een aparte tabel bijvoorbeeld, die je met een keuzelijst aan je offerte koppelt. Dat doe je nu niet. Verder zitten alle offerte onderdelen in dezelfde tabel. Ook die gegevens horen thuis in een eigen tabel, die je dan koppelt aan de hoofdtabel. Als je het zo inricht, hoef je nooit meer één record te kopieëren. In ieder geval geen 60 velden...
Kortom: maak eerst de database in orde, en ga dan kijken wat je aan automatisering nodig hebt :)
 
Dit is een losstaande database puur en alleen voor maken van de offerte. Ik zie het probleem niet zo dat alles in 1 tabel wordt opgeslagen.
Waarom HOORT het in een aparte tabel/wat is het voordeel??

Het weer helemaal aanpassen zit ik eigenlijk niet op te wachten. + het aanpassen van alle offertes en overige word bestanden die eraan hangen. (lees; ik ben blij dat het nu werkt als acces leek)
Ik waardeer de input heel erg voor het maken van de perfecte database. Echter het enige wat ik nog wil zoals gezegd is manier voor het dupliceren van records. Ik hoop dat iemand mij hier mee kan helpen!
 
Als je je 6 slagen in de rondte moet programmeren omdat je database niet deugt, en je dat allemaal niet nodig hebt als je de zaakjes wèl netjes hebt gebouwd, dan lijkt het mij evident wat het voordeel is... In bericht #2 heb ik aangegeven hoe je het moet oplossen. Als je dat niet aan de praat krijgt, dan geef je daarmee aan dat je a) te weinig VBA kennis hebt, en b) dus veel beter de oplossing kunt zoeken in een correcte database.
 
Laatst bewerkt:
Ik geef volgens mij in ieder van mijn berichten aan dat mijn vba/acces/code kennis niehiel is. Dit is heel misschien ook de reden dat ik hier om hulp vraag. Echter, no offense, met de antwoorden kan ik niet zoveel. Ik begrijp de strekking wel maar dit kost mij zeeën van tijd die ik niet heb. Dus ik hoop dat iemand mij op mijn niveau kan helpen en anders lijkt het mij beter om ergens anders hulp te vragen.

Nogmaals. Ik zoek een code voor het kopiëren van een willekeurig tabel/record (hoe jet het wil noemen) dat gekoppeld is aan 1 database. Het erin zetten van de code onder een cmd knop lukt mij nog wel. Voor het aanpassen van de code heb ik graag wat hulp nodig.

Mvg, michiel
 
Echter, no offense, met de antwoorden kan ik niet zoveel. Ik begrijp de strekking wel maar dit kost mij zeeën van tijd die ik niet heb.
Ik snap best dat je geen verstand van programmeren hebt. Echter: zoek dan ook geen oplossing die veel programmeerwerk vereist. Of beter nog: als je het zelf niet kan, huur dan iemand in die de kennis wèl heeft. Wat jij wilt is behoorlijk tijdsintensief, en als je zelf al niet bereid bent om daar tijd in te steken, hoe kun je dan van ons (vrijwilligers immers) verwachten dat wij die tijd er wél insteken?
Zo'n opmerking als:
Ik ben helaas een leek in acces en programmeren. Dus als iemand mij stapsgewijs kan uitleggen welke code ik nodig heb en hoe ik deze werkend als cmdknop krijg heel graag!!
gaat in jouw geval echt niet werken, want dat zou dus inhouden dat we je hier ter plekke moeten leren programmeren. Die tijd zul je toch echt zelf in Access moeten steken. Bovendien hebben we daar een cursus voor klaar staan in de Handleidingen sectie. Wij zijn er (vind ik althans) niet om kant en klare oplossingen te bouwen...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan