record toevoegen

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.682
Stl,
Via een query ga je naar het laatste record in een tabel van een bepaalde persoon
In mijn geval heeft dit record een unieke code:
760325120680
Ik wil nu een nieuw record aanmaken met nagenoeg dezelfde inhoud (90% van de velden zijn identiek), behalve die identieke code, die zou dan 760325120691 moeten worden
Dus, ik laat een vraag zien:
Nieuw record aanmaken... je antwoordt "Ja" en er wordt automatisch een nieuw record aangemaakt met dezelfde data en het wordt dan ook getoond.
Bestaat er een commando dat een record kopieert en toevoegt?

bedankt
JP
 
Dag JP,

ik gebruik altijd data-objecten om gegevens te managen. Dat is één keer serieus wat werk om alle eigenschappen en methodes (zoals eventueel kopiëren van een record) te creëren/schrijven in het object, maar je hebt het voordeel dat je dit over heel de applicatie kan gebruiken (formulieren én rapporten en globale modules) en al je code staat gegroepeerd in één klassemodule in plaats van verspreid over verschillende formulieren en modules. Indien je geïnteresseerd bent kan ik je wel een voorbeeld doorsturen van zo een data object.
 
In een formulier is dat een fluitje van een cent, met heel weinig werk. Om te beginnen: je gebruikt waarschijnlijk een functie om het nummer te genereren, dat je als Standaardwaarde bij een nieuw record zet? Zo niet: doe dat dan wel, of gebruik een extra query om het hoogste nummer op te halen en met 1 te verhogen.
Vervolgens kun je met een procedure alle waarden die je mee wilt nemen naar een nieuw record instellen als DefaultValue voor het volgende record.
Dat ziet er zo uit:
Code:
     Me.Veld1.DefaultValue = Me.Veld1.Value
En zo ga je alle velden af.
Klik je dan op de knop Nieuw Record (je kunt ook alle noodzakelijke code onder die knop hangen), dan heb je alle velden netjes meegenomen. En bij een volgend nieuw record, met eventueel andere waarden, neem je die mee.
Snel en efficiënt!
 
In een formulier is dat een fluitje van een cent, met heel weinig werk. Om te beginnen: je gebruikt waarschijnlijk een functie om het nummer te genereren, dat je als Standaardwaarde bij een nieuw record zet? Zo niet: doe dat dan wel, of gebruik een extra query om het hoogste nummer op te halen en met 1 te verhogen.
Vervolgens kun je met een procedure alle waarden die je mee wilt nemen naar een nieuw record instellen als DefaultValue voor het volgende record.
Dat ziet er zo uit:
Code:
     Me.Veld1.DefaultValue = Me.Veld1.Value
En zo ga je alle velden af.
Klik je dan op de knop Nieuw Record (je kunt ook alle noodzakelijke code onder die knop hangen), dan heb je alle velden netjes meegenomen. En bij een volgend nieuw record, met eventueel andere waarden, neem je die mee.
Snel en efficiënt!
 
Maar ik moet niet de default waarden hebben maar de waarden die in het “vorige” record stonden..???
 
Lees eens goed: met deze werkwijze zet je de waarden van het laatste record in de Defaultwaarde. En die krijg je dus te zien in je nieuwe record. En dat proces herhaal je voor elk nieuw record dat je op deze manier aanmaakt. Dus als je niks verandert, kopieer je op deze manier steeds exact wat je wilt meenemen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan