Cloning a Record

Often, you want to copy a record and change one thing, like a date, or make some other minor modification.

I have come up with a very simple technique. Alongside the link to EDIT a record, I make a link to CLONE a record, adding clone=t to the editing link. Then in the editing code, there are only 2 simple alterations. In the form itself, use [hideif [clone]=t] to hide the hidden variable for the record ID, and in the replace context, add &append=t&autonumber=ID (or whatever your record ID field is called). When you search for the record to populate your field, it finds [ID]. But when you submit the form, this variable is not sent and only the raw code, [ID] displays for the replace, so the record is not found. Hence, a new record is created with a new ID.

LINK
<a href="youreditpage.dna?edit=t&ID=[ID]">EDIT</a> | <a href="youreditpage.dna?edit=t&ID=[ID]&clone=t">COPY</a>


FORM element
[hideif [clone]=t] <input type=hidden name=ID value=[ID]>[/hideif]


WRITE to the DB
[replace db=yourdatabase.db&eqIDdatarq=[ID]&append=T&autonumber=ID]....[/replace]


NOTES

Make sure your editing form contains all the fields; often a new form has additional fixed fields that are set only on a new record. So you may have to add these in hidden form elements.



If you want to make sure a particular field is replaced with new info, do something like:
<input type=text name=mtgdate value="[hideif [clone]=t][mtgdate][/hideif]">

You can also put this at the top of the form:

[showif [clone]=t]This form will create a New Copy of an existing record[/showif]

to reassure yourself that you aren't editing away an existing record.

You can change the text on the submit button to Clone in the same way with showif/hideif.



Terry Wilson

DOWNLOAD WEBDNA NOW!

Top Articles:

[biotype]

BioType is a behavioral biometrics WebDNA function based on ADGS research and development (from version 8...

Download WebDNA Applications

WebDNA applications...

Technical Change History

This Technical Change History provides a reverse chronological list of WebDNA changes...

WebDNA Modules

A list of the currently available modules...

WebDNA Libraries

A list of available libraries for WebDNA...

Tips and Tricks

A list of user-submitted tips ...

Related Readings:

How to create a RSS feed

How to create a RSS feed from yourdatabase on formation...

Annoying character on writefile

How do I get rid of or convert the line feed character during a writefile?...

Removing whitespace

How can I remove all whitespace entered by a user from an input box (ie card number)...

Cloning a Record

Often...

How to keep the text variable after a function has finished

By default...

File upload example

...