Newsgroup: it.comp.lang.visual-basic
Titolo: "duplicare" un record

data una tabella (Tb), aperta con DAO, se un certo campo ha valore 2 devo
duplicare il record
se però faccio
Tb.AddNew
Tb("nome")=... cosa?
devo per forza salvare tutti i campi, uno per uno, in variabili e poi
riscriverli nel nuovo rec?
nome=Tb("nome")
Tb.AddNew
Tb("nome")=nome
?
i campi sono numerosi... come posso fare?
Grazie.

 riscriverli nel nuovo rec?
Direi di sě.
Oppure apri un secondo recordset, anche vuoto, ma con gli stessi campi del
primo e aggiungi su questo prelevando dal primo, magari ciclando
sull'insieme Fields e valori Value dei campi del record corrente del primo
recordset

risolto, utilizzando un'altro recordset sulla stessa tabella
grazie comunque


appunto. Grazie. :-)

 grazie comunque
Come "comunque"? <eg>

> Come "comunque"? <eg>
forse voleva la funzione PappaPronta()
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

 forse voleva la funzione PappaPronta()
No, aveva risolto da solo e non avevo visto l'altro post dove confermava,
come lui non aveva visto il mio.

KitesurfZ wrote:
Scusate carissimi......
non si risolveva tutto più elegantemente con una query sql?
bye!
;-)
-- 
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 non si risolveva tutto più elegantemente con una query sql?
Ce la racconti, visto che deve duplicare il record corrente e che magari non
è univocamente individuabile? :-P

 devo duplicare il record
cut
Lascio stare Lupo che mi risponde ad una domanda sulla arance parlando di
limoni!!!
....e rispondo oggi perchè ieri sera avevo altre cose da fare!
:-P
Allora tu hai un record che ha un valore che ti permette di far scattare la
richiesta di Duplicazione
OK!
un esempio per far capire:
...il bestiario del mio sito web
ha i seguenti campi:
nickname, Data, Subject, messaggio, DataMsg, NG, Categoria, Voto, VotatoReg
che sono "liberi"
poi HA LA CHIAVE su un altro campo ID (è un contatore)
esempio pratico
ho un messaggio inviato da uno che si chiama Kobram...lo voglio duplicare
ti incollo pari pari la query di access (trattandosi di un sito web...sotto
per forza c'è access...no tengo dinero per sql...e poi è sprecato per 'stè
robe)
INSERT INTO messaggi ( nickname, Data, Subject, messaggio, DataMsg, NG,
Categoria, Voto, VotatoReg )
SELECT messaggi.nickname, messaggi.Data, messaggi.Subject,
messaggi.messaggio, messaggi.DataMsg, messaggi.NG, messaggi.Categoria,
messaggi.Voto, messaggi.VotatoReg
FROM messaggi
WHERE (((messaggi.nickname)="Kobram"));
Per non violare la chiave come noti è sparito ID che access assegna da se ad
un nuovo record
Se tu hai regole di integrità referenziale...dovrai aggiustare la query....
Unica avvertenza (rispondendo in parte a Lupo)
il WHERE ti seleziona cosa copiare....se trova 2 Kobram....copia 2 record
Nello specifico dell'esempio...SE io conosco l'id del record da copiare ( e
tu mi pare che abbia un valore di un campo come discriminante della
duplicazione)
INSERT INTO messaggi ( nickname, Data, Subject, messaggio, DataMsg, NG,
Categoria, Voto, VotatoReg )
SELECT messaggi.nickname, messaggi.Data, messaggi.Subject,
messaggi.messaggio, messaggi.DataMsg, messaggi.NG, messaggi.Categoria,
messaggi.Voto, messaggi.VotatoReg
FROM messaggi
WHERE (((
messaggi.id
)=34));
mi copia il messaggio SOLO e SOLTANTO il record con ID=34....e tutte le
volte che la eseguo me lo copia una volta sola!
il vantaggio di questo sistema?
se centralizzi la query...cambi un campo, lo aggiungi , lo togli...cambi
una sola query!
...ti basta un command...(ops! parlo di ADO!...eh eh...)
...è più veloce
...impari l'SQL...
...varie ed eventuali...
Bye Man!
:-)


 record Nello specifico dell'esempio...
Ecco, erano i miei limoni.