Newsgroup: it.comp.appl.access
Titolo: copia di record

ciao a tutti!!!
Dunque ho un problema!!! Sono riuscito a copiare un record accodandolo
ad una stessa tabella, ma non riesco a copiarlo in un altra tabella;
questo è il codice che ho scritto:
Dim dbs As Database
Dim strCriteri As String
Dim Anagrafica_servizio As Recordset
Dim rstqr_cod_servizi As Recordset
Set dbs = CurrentDb
Set rstqr_cod_servizi = dbs.OpenRecordset("qr_cod_servizi",
dbOpenDynaset)
Set Anagrafica_servizio
DoCmd.SetWarnings False
strCriteri = [id]
MsgBox strCriteri
DoCmd.RunCommand acCmdSelectAllRecords
rstqr_cod_servizi.FindLast "id = " & strCriteri
'MsgBox strCriteri
With Anagrafica_servizio
        Anagrafica_servizio.AddNew
        !anno_rif = rstqr_cod_servizi!anno_rif
        .....
        .....
        Anagrafica_servizio.Update
        End With
Anagrafica_servizio.Close
rstqr_cod_servizi.Close
dbs.Close
End Sub
Quando eseguo il codice non viene generato nessun errore, ma il record
non viene copiato!! sapete dirmi dove sbaglio????
grazie e ciao
mike
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


MAssimiliano

 IMHO l'hai selezionato ma non passato in memoria
...e quindi come faccio a passarlo in memoria???
grazie massimiliano!!!


Mike Dens ha scritto:




Questa riga mi lascia perplesso:
  Set Anagrafica_servizio
manca un "= dbs.openrecordset(.....)"
Comunque sarebbe più semplice farlo con una query, ti basta un'unica riga:
currentdb.execute "INSERT INTO [tabella] SELECT ... FROM ... WHERE ID=...;"
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:4e744fe364fadc3701...@mygate.mailgate.org...

A mio avviso il metodo FindLast non trova mai nulla, e se ne vuoi avere
conferma verificalo testando la proprietà NoMatch (vedi help) del recordset
rstqr_cod_servizi dopo che su di esso hai fatto la ricerca.
Il campo [id] è di tipo Numerico o di tipo Testo?
Se è di tipo Numerico allora non devi scrivere:
Dim strCriteri As String
ma devi scrivere:
Dim strCriteri As Long
Se invece è di tipo Testo non devi scrivere:
rstqr_cod_servizi.FindLast "id = " & strCriteri
ma devi scrivere:
rstqr_cod_servizi.FindLast "id = '" & strCriteri & "'"
Inoltre non capisco cosa significhi Set Anagrafica_servizio .
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Avete ragione il "set Anagrfica....." manca di qualcosa....è che facevo
delle prove e non mi son accorto della sintassi errata....
comunque vi ringrazio per i suggerimenti che andrò subito a provare!!
ciao


Dunque....ho risolto ed ora copio il record selezionato 
nella nuova tabella!! Vorrei perň andare oltre e riuscire a copiare
il record selezionato sempre nel primo record dell'altra tabella.
se io scrivo solamente:
With Anagrafica_servizio
        Anagrafica_servizio.AddNew
        DoCmd.GoToRecord , , acFirst
        .....
        .....
access mi aggiunge un nuovo record copiando il record selezionato 
nel primo record; io perň non desidero aggiungere ogni volta un record
ma copiare sempre e solo nel primo!! Se io elimino
"Anagrafica_servizio.AddNew"
la routine non funziona piů.......aiutatemi!!! :-)
grazie



Forse volevi scrivere:
With Anagrafica_servizio
       .AddNew
ecc. ecc
Poi non si capisce cosa vuoi fare con
DoCmd.GoToRecord , , acFirst
che serve a navigare tra i record in una maschera ma certamente non tra i
record di un recordset.
Se poi vuoi modificare il record corrente del recordset Anagrafica_servizio,
invece di:
Anagrafica_servizio.AddNew
che aggiunge un nuovo record al recordset, devi scrivere:
Anagrafica_servizio.Edit
che predispone appunto la modifica del record corrente del recordset.
Mi sembra che tu ti stia muovendo alla cieca scopiazzando qua e là senza
cognizione di causa: a mio avviso non sarebbe male invece se tu studiassi un
po' Access.


ti ringrazio per avermi risposto.....non ho mai detto di esser 
un esperto di access e ne tantomeno un programmatore di vb....riguardo
lo scopiazzare, come hai detto TU, beh gli esempi o i suggerimenti che 
mi date o che trovo nella guida aiutano molto e penso che servano
proprio per capire ed imparare...
comunque per le prossime volte puoi anche far a meno di rispondere...o 
sei presente per dare suggerimenti o fanne a meno...i commenti te li
puoi risparmiare,
io desidero solo imparare e capire utilizzando ( scopiazzando come ti
piace dire ) anche esempi che trovo......
alle prossime
....mike...


 ....mike...


 <omissis>
[CUT]
dell'ammbiente
[CUT]
Tranne questo...
Roberto...
;-P
MAssimiliano

 MAssimiliano


Dunque....non che ci tenesi tanto a rispondere....ste cose vanno sempre
per le lunghe e innervosiscono solo le persone ma comunque ne avevi
proprio bisogno di sfogarti...
beh magari ora ti senti meglio, ogni tanto è vero a 
qualcuno bisogna pur ricordare come funziona la mailing 
list e hai fatto bene a parlarne!!! In realtà non mi son 
mai preoccupato di leggere il vostro manifesto, ho capito però che
io "tu che stai usando questo forum non nello spirito
per cui è nato.", ..."discussioni tra utenti e in
particolar modo tra sviluppatori"....
beh non mi pare di esser l'unico che si potrebbe definire sviluppatore,
comunque questo è un vostro problema, siete mi par di aver capito voi 
'i moderatori' o forse no???....e son sicuro di non esser l'unico ad 
usare come dici tu il forum non nello spirito, ma questo forse è sempre
un vostro problema....in effetti si sentirsi dire "scopiazzare" non mi è
piaciuto e ti spiego anche il motivo: nella tua parola ci stava una vena
da "sapientone", superiore che ho ho gradito, forse tu non hai mai
"scopiazzato" del
codice per capire come funzionava un codice???...il fatto che scriva
senza cognizione
può essere anche vero, ma piano piano imparerò....di cose nel forum ne
ho imparate tante....ed ora che mi sto dedicando tempo permettendo a
capirci
qualcosa su sto codice vb mi sento dire mi di studiarmi Access, di
scopiazzare meno e poi di
ripresenterami nel forum!!...
Senz'altro è un buon suggerimento e lo apprezzo, ti prenderò in
parola!!!
Cosa mi consigli un corso da 2 milioni, una lettura ( cosa che ho già
fatto ) del manuale
di microsoft o magari un libro che so della mondadori....
saluti a tutti quanti....
E' da anni che frequento sto forum, è la prima volta
che mi capita una cosa del genere...forse era meglio quando si stava 
peggio! :-) ...il problema mio poi si lo hai risolto ma in parte, però
ci son riucito
lo stesso, alle volte i suggerimenti ti aprono porte che non ti
sogneresti mai di aprire,
delle intuizioni....e voi del forum in questo siete bravissimi, di
problematiche ne ho risolte tante
e me le avete anche risolte! :-)
saluti e buon proseguimento Roberto!!!
e qui finisco la catena di risposte....ovviamente attendo una tua
replica
o quella di altre persone, a voi l'ultima parola ( mi pare giusto )!!!
mike
un ultima cosa:
"Gli esempi servono a capire ciò che si è studiato e non credo proprio
che
possono sostituirsi completamente allo studio delle regole proprie di un
liguaggio di programmazione; sono uno strenuo sostenitore del metodo di
studio induttivo e ritengo che sia meglio di quello deduttivo, ma credo
che,
prima o dopo gli esempi, occorra studiare la teoria.
Io studio o meglio, leggo la guida di access, leggo gli esempi, provo a
scrivere e
se non ci riesco vi contatto tramite il forum!....forse non è il massimo
ma per mancanza di tempo non posso fare altro!!!


 ma per mancanza di tempo non posso fare altro!!!
Ti invito a riflettere quanto tempo hai perso nello sbattere la testa sul
video del computer cercando di risolvere inutilmente dei problemi, o quanto
tempo hai passato sul NG apettando che arrivassero delle risposte ai tuoi
quesiti.
Non credi onestamente che se quel tempo lo avessi usato per studiare sarebbe
stato meglio?
