Newsgroup: it.comp.appl.access
Titolo: Eliminare + recordset come si fa ???

Salve sono nuovo di questo NG, mi chiamo Cristiano, ed ho un problema...
Dove lavoro c'è un applicazione access gia creata che gestisce un magazzino.
Nell'applicazione mancava il controllo della giacenza, e il reso merce, ....
Io l'ho dovuto creare.
Fin qui tutto normale, ma quando elimino un record (N.B. i record che
riguardano le merci vengono caricati e visualizzati in una sottomaschera a
griglia) uno dopo l'altro mi da errore run time 91.
Debbugando la routine incriminata, ho notato che il primo record lo elimina
tranquillamente, ma quando vado (di seguito) ad eliminare il secondo record,
alla voce
"Set RsDel =Form_Prodotti.recordset"
"RsDel.Findfirst "IdProdotto=" & IdPr  <----- errore run time 91
infatti se mi soffermo sopra "RsDel.Findfirst ..."  con i cursore (mentre è
in debug ovviamente) mi da Nothing ....
Cosa è successo ???? e Come posso intervenire per ovviare a questo
problemino????
Spero che qualcuno di voi + esperto di me mi possa aiutare Grazie

 wrote in message
news:hnh%7.1340$sW5....@news2.tin.it...

Non riesco a capire che tecnica usi per eliminare i RECORD uno dopo l'altro...!
Inn ogni caso se devi eliminare il FindFirst non serve....!!!
   Set RsDel =Form_Prodotti.recordset
   if not(rsdel.eof and rsdel.bof) then 
      with rsdel
         do untill .eof
            .delete
            .movenext
            .update
         loop
      end with
   end if
elimonato.................!!!!!!!!!!!!!!!
@Alex
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 in debug ovviamente) mi da Nothing ....
Ma il nothing te lo da su IdPR?
Perchè può essere che lui puntava al record che hai eliminato e non è che
eliminato il primo automaticamente passa al seocndo aggiornando il valore di
IDPR. Probabilmente la tecnica che stai usando è sbagliata e quindi sarebbe
il caso che tu spiegassi la tua situazione e quello che vuoi fare, senza
anticipare la TUA soluzione...
Antonio

 ha scritto nel messaggio
news:bto%7.8278$aD.2...@twister2.libero.it...



wrote:
CUT
Non è saggio postare prima del quoting mentre stai scrivendo ad
antonio
Saluti.
Emanuele.

 e poi una volta li lo elimino
Prima di tutto scrivi DOPO il quoting!
Ok, ma poi fai un altro findfirst per passare al record successivo?
Come si fa a sapere che si vuole eliminare il 2°, 3° e 4° record. Come si fa
a dirglielo?
Antonio

 wrote in message
8EU%7.13963$aD.4...@twister2.libero.it...

Visto che la forma è quello che vi interessa di più e mi fate notare che
bisogna scrivere dopo il quoting, (ossia dopo la risposta)
sarebbe anche coerente e logico non disturbare la lista scrivendomi in
privato per farmi notare queste cose vi  pare ???!!
(N.B. non disturbatevi a farmi notare che anche la mia risposta ora è
pubblica , ve la siete chiamata!)
Ancora "SCRIVERE" in maiuscolo equivale ad urlare , e non a sottolineare
determinate cose o argomenti, quindi non è corretto urlare verso altri
appartenenti al NG me compreso.
..... E grazie lo stesso di aver parlato di tutto tranne che di quello che
si doveva.
Antonio mi chiedeva come si fa a fare determinate cose (è una provocazione
ovviamente ...)
Allora, hai mai provato da codice con sql a fare un bel " Delete nome
tabella from qualchecosa Where (Altro)= " & NumID" ????
(tanto per parlare di query semplici per non dire banali)
Vedrai che ti cancella il record che corrisponde all'id passatogli, se poi
tu, ovviamente, riesci a ricavarti dal primo id gli altri ID delle tabelle
relazionate con delle piccole astuzie , e magari non so, in access vuoi
dirgli
Rst.FindFirst "Criteria=" & NumId
Rst.Delete
Vedrai che ti cancella il record sulla quale si è appena posizionato.
P.S. e N. B. Non ho mai detto di voler sapere in anticipo cosa voleva
cancellare l'end user, anzi,  anche da questa mia ennesima spiegazione, si
evince chiaramente
che proprio xchè non potevo saperlo mi serviva risalire al record scelto
dopo che L'end user lo aveva selezionato(Ma credo che fin qui sia anche
normale ...)
Quello che non riuscivo ad ottenere (ed ho risolto) era il l'aggiornare il
form ed i vari dati da visualizzare dopo una qualsiasi cancellazione (io non
programmo in access e non cio mai programmato)
Grazie di tutto e Buonanotte ...Haa e grazie per le info sulla netiquette !

 > Prima di tutto scrivi DOPO il quoting!

La tua risposta palesa la tua grande, grossa e folta coda di paglia, che
prende fuoco facilmente.
Se ci sono delle regole formali da seguire sul NG, sul NG ti vengono
esposte.
Il problema è che evidentemente sono io stupido a perdere tempo non
retribuito con uno che vuole solo fare polemica.
Allora, visto che c'hai un problema, ma se uno ti chiede spiegazioni pensi
bene di fare della dietrologia interpretando le domande che ti si fanno come
provocazioni, vedi di arrangiarti da solo. Per me, da adesso, puoi pure
schiattare...
Antonio

 Antonio
Si ...Hemm non so se lo hai capito ma ....- ho risolto - ... (gia dalla
scorsa mail)
Per il resto, penso che ti deludero, ma da noi non si usa access, è
difficile farlo girare su Unix e fargli tenere in ballo tutto cio che gira
al C.E.D. telecom, di conseguenza anche il tipo di programmazione che
facciamo noi è diversa,, ..A partire dal linguaggio.
IL Prg che ti accennavo gira sull'uff della moglie del mio capo ..Era un
favore che dovevo fare nulla di più. Ed ho finito ....
Comunque complimenti anche tu a polemica non sei messo male he :))
Grazie egualmente del tuo presunto aiuto e del tuo e del tuo augurio
"schiattare.." , sulla seconda non so se riuscirò ad accontentarti.
Se ti ho offeso con questa mail o con l'altra ti assicuro che non era mia
intenzione e mi scuso !
P.S. ricorda .. Nella vita ci vogliono "Spalle larghe.."

 P.S. ricorda .. Nella vita ci vogliono "Spalle larghe.."
P.S.
ricorda.. Nella vita, quando si ha bisogno di aiuto, ci vogliono "Spalle
larghissime" moooolto più larghe di quelle a cui tu stai chiedendo aiuto...
Antonio