dupliceren record

Status
Niet open voor verdere reacties.

ernstcramer

Gebruiker
Lid geworden
14 dec 2015
Berichten
66
Ik heb dit forum af zitten zoeken naar oplossingen voor "dupliceren record" in VBA-code. Maar kan dat niet vinden. De topics die ik vond beschrijven heel aparte problemen; volgens mij zoek ik naar een simpele oplossing. zoiets als acCmdCopy... maar die bestaat niet

ik zoek dus naar een mogelijkheid om het actieve record in mijn formulier in zijn geheel te kopiëren.
(het grappige is dat als je de wizard functieknop gebruikt er wel een icoontje is "record kopeieren"... :o)
 
Waarom zou je dat willen? De reden dat dit niet kan in Access, is omdat dat volslagen tegen elk normaal gebruik van een database ingaat. Moet je echt niet willen....
 
De reden is dat je dezelfde type wagons hebt, waarvan het onderscheidt het gebruiksnummer wordt. Dus nagenoeg of geheel identieke wagons, waar ik op termijn dus iets mee wil doen en waardoor ze verschillend zijn.
Daarom dus...
Nu zit ik alles over te typen :D
 
Ik sta niet te popelen om je db heel vaak te openen (elke keer 18 keer op OK klikken omdat afbeeldingen in je formulier niet te vinden zijn is nogal vermoeiend) dus helemaal snappen wat je wilt doe ik niet, maar een type wagon vul je natuurlijk maar één keer in je brontabel in. Daarna zou je hem met een keuzelijst moeten koppelen aan treinen etc. Maar leg eens wat duidelijker uit wat je wilt, dat helpt soms :). Ik kan mij bijvoorbeeld voorstellen dat je een nieuwe trein invoert met daarbij 6 identieke wagons. En dat je dus in de tabel waarin je treinen koppelt aan wagons 6 records nodig hebt met LocID en WagonID. Dat is prima repeterend te maken met een lussende toevoegquery. Maar dat is wat anders dan een compleet record dupliceren...
 
Wat je schrijft wat kan voorkomen, komt dicht in de buurt. Ik heb meerdere wagons van hetzelfde type, maar heb daar verschillende afbeeldingen bij, verschillende nummering van de wagon, etc.
De basis is echter inderdaad: qua type identieke wagons. Vaak zelfs hetzelfde artikelnummer van een fabrikant. In tegenstelling tot wat jij veronderstelt dat je die (ahw) op tafel hebt staan en allemaal achter elkaar invoert is niet zo. Want dan snap ik wel jouw opmerking over een toevoegquery.

Maar ik heb een record, met best wel veel gegevens; ik krijg een nieuw exemplaar waarvan de gegevens voor laat ik zeggen 80% hetzelfde zijn, en kan je dat dan handig kopiëren.
To nu toe maakte ik gebruik van de andere weergave van het formulier waarbij je een lijst te zien krijgt.
Dan kan je namelijk een regel (en dus het hele record) in 1x kopiëren. En heb je dus precies wat ik zoek. Ik ben echter op zoek naar een mogelijkheid om dat via VBA te doen.

Ik hoop dat het zo wat duidelijker is.

(PS: ik zal de volgende keer weer een hele omgeving op dropbox zetten...)
 
Laatst bewerkt:
...nog een kleine aanvulling:
alles wat repeterend ingevuld kan worden (treintypen, fabrikant, land, tijdperk, etc) komt al uit tabellen. Zoals je ook schrijft; dat wordt niet opnieuw ingevuld.
 
Ik ben inmiddels zelf wat verder gegaan op basis van de info hier en wat ik ergens anders vond. Basis is een toevoegquery waarbij velden die niet gekopieerd hoeven te worden niet meegenomen worden. Uitgangspunt is het record (oftewel het model) dat op dat moment actief is.

ziet er nu zo uit:

Code:
Private Sub Copy_Click()
'---kopieer huidig record
    DoCmd.OpenQuery "hQ_CopyRecord", , acEdit
    DoCmd.Close
    DoCmd.OpenForm "F_MBC", acNormal
    Call laatste_Click
End Sub

twee vragen hierbij:
- het OpenQeury commando stelt twee vragen of je wel weet wat je doet... :cool: Mijn vraag is: kan ik de query uitvoeren ZONDER dat Access die controlevragen stelt?
- na het uitvoeren roep ik de Sub laatste_Click aan: deze gaat naar het laatste record. Echter: het systeem komt niet verder dan het (dan) één-na-laatste record. Op de een of andere manier valt het dus niet op dat er een record bijgekomen is. Wat zou dat kunnen zijn? Zou de tabel opnieuw gelezen moeten worden door het formulier? Ik dacht dat ik dat afgevangen had door het formulier opnieuw te openen...
 
De methode is nogal rudimentair, en zeker het sluiten en opnieuw openen van het formulier is een nodeloze handeling Met een Requery zou je gewoon het formulier moeten kunnen laten staan. Maar zoals ik al eerder zei: ik zou deze werkwijze nooit gebruiken. Ik geloof meer in de techniek waarbij je de standaardwaarde van de velden die je wilt herhalen instelt met de actuele waarde van het laatste record. Veel simpeler en makkelijker te maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan