Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Elimina Record

745 views
Skip to first unread message

Giuseppe

unread,
Jan 28, 2003, 11:11:17 AM1/28/03
to
Incredibile!Il codice seguente mi dovrebbe cancellare
un record ma funziona solo in debug.
A qualcuni è mai successo?
P.S. il codice lavora in una sottomaschera.

Private Sub cmdElimina_Click()
On Error GoTo Err_cmdElimina_Click

intScelta = MsgBox("Sei sicuro di voler eliminare questo record?", vbYesNo)
If intScelta = vbNo Then
MsgBox "Operazione annullata", vbInformation

Exit Sub

Else

Me.AllowEdits = True
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Me.AllowEdits = False
Me.AllowAdditions = False
cmdNuovo.Enabled = True
cmdModifica.Enabled = True
cmdSalva.Enabled = False
Me.Requery

If Me.CurrentRecord = 0 Then

Me.AllowAdditions = True
Me.AllowEdits = True
cmdSalva.Enabled = False

Else

Exit Sub

Exit_cmdElimina_Click:
Exit Sub

Err_cmdElimina_Click:
MsgBox Err.Description
Resume Exit_cmdElimina_Click
End If
End If
End Sub

maigret

unread,
Jan 28, 2003, 11:19:15 AM1/28/03
to

> DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
> DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

geniale!!!

sei riuscito a eliminare la scritta "oggetto senza nome"?

Giuseppe

unread,
Jan 28, 2003, 11:59:47 AM1/28/03
to

"maigret" <a...@aaa.it> ha scritto nel messaggio
news:b16ee5$s26$1...@kyra.unica.it...
Ah ehm non capisco se mi stai dicendo che ho
fatto una cazzata.La scritta rimane.

Carlo Costarella

unread,
Jan 28, 2003, 12:02:54 PM1/28/03
to

"Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
news:FYxZ9.129631$AA2.5...@news2.tin.it...
Prova con:
DoCmd.RunCommand acCmdDeleteRecord
al posto di

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
e supito dopo metti un bel DoEvents

Ciao, Carlo


Giuseppe

unread,
Jan 28, 2003, 12:08:42 PM1/28/03
to

"Carlo Costarella" <carloantoni...@virgilio.it> ha scritto nel
messaggio news:2JyZ9.95998$0v.27...@news1.tin.it...

>
> "Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
> news:FYxZ9.129631$AA2.5...@news2.tin.it...
[CUT]

> >
> >
> Prova con:
> DoCmd.RunCommand acCmdDeleteRecord
> al posto di
> DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
> DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
> e supito dopo metti un bel DoEvents
>
> Ciao, Carlo
> Fatto.
Risultato : Comando od azione'Elimina Record' non disponibile
DoEvents come lo dovrei usare?

>


Carlo Costarella

unread,
Jan 28, 2003, 12:30:10 PM1/28/03
to

"Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
news:uOyZ9.96035$0v.27...@news1.tin.it...


Fai una cosa crea una query di eliminazione che abbia nei criteri il valore
del record selezionato, le esegui e fai un requery del recordset.
Il codice diventa:
Private Sub cmdElimina_Click()

Dim intScelta As Integer


intScelta = MsgBox("Sei sicuro di voler eliminare questo record?", vbYesNo)

If intScelta = 6 Then
DoCmd.SetWarnings False
DoCmd.OpenQuery "MiaQueryDiEliminazione"
DoCmd.SetWarnings True
Else


MsgBox "Operazione annullata", vbInformation

end if
end sub

Ciao, Carlo


Giuseppe

unread,
Jan 28, 2003, 12:34:41 PM1/28/03
to

"Carlo Costarella" <carloantoni...@virgilio.it> ha scritto nel
messaggio news:C6zZ9.96193$0v.27...@news1.tin.it...

>
> "Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
> news:uOyZ9.96035$0v.27...@news1.tin.it...
> >
> > "Carlo Costarella" <carloantoni...@virgilio.it> ha scritto nel
> > messaggio news:2JyZ9.95998$0v.27...@news1.tin.it...
> > >
> > > "Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
> > > news:FYxZ9.129631$AA2.5...@news2.tin.it...
> > [CUT]
[CUT]

>
>
> Fai una cosa crea una query di eliminazione che abbia nei criteri il
valore
> del record selezionato, le esegui e fai un requery del recordset.
> Il codice diventa:
> Private Sub cmdElimina_Click()
>
> Dim intScelta As Integer
> intScelta = MsgBox("Sei sicuro di voler eliminare questo record?",
vbYesNo)
>
> If intScelta = 6 Then
> DoCmd.SetWarnings False
> DoCmd.OpenQuery "MiaQueryDiEliminazione"
> DoCmd.SetWarnings True
> Else
> MsgBox "Operazione annullata", vbInformation
>
> end if
> end sub
>
> Ciao, Carlo
>
>Infatti stavo pensando propio ad una cosa del genere
anche se continuo a non capire perchč in debug mi funziona
ma in esecuzione no.
Grazie
Giuseppe


Karl Donaubauer

unread,
Jan 29, 2003, 5:07:23 AM1/29/03
to
Giuseppe ha scritto:
> "Carlo Costarella ha scritto:
>>
>> Prova con:
>> DoCmd.RunCommand acCmdDeleteRecord
>> ...

>
> Risultato : Comando od azione'Elimina Record' non disponibile

Ci sono situazioni diversi con questo problema.
p.e. forse si tratta di un nuovo record che non è ancora salvato.
Prova se puoi cancelare il record a mano con la tastatura.

Un altra possibilità:
Hai scritto codice come
>Me.AllowEdits = True
ecc.
Sei siccuro che la proprietà AllowDeletions è True nel momento?

--
HTH
Karl
*********
Access-FAQ (tedesco): http://www.donkarl.com

Giuseppe

unread,
Jan 29, 2003, 8:28:27 AM1/29/03
to

"Karl Donaubauer" <ad...@donkarl.com> ha scritto nel messaggio
news:b1890n$10kqvp$1...@ID-46617.news.dfncis.de...

> Giuseppe ha scritto:
> > "Carlo Costarella ha scritto:
> >>
> >> Prova con:
> >> DoCmd.RunCommand acCmdDeleteRecord
> >> ...
> >
> > Risultato : Comando od azione'Elimina Record' non disponibile
>
> Ci sono situazioni diversi con questo problema.
> p.e. forse si tratta di un nuovo record che non è ancora salvato.
> Prova se puoi cancelare il record a mano con la tastatura.
Cioè?

>
> Un altra possibilità:
> Hai scritto codice come
> >Me.AllowEdits = True
> ecc.
> Sei siccuro che la proprietà AllowDeletions è True nel momento?
> Yes.

Karl Donaubauer

unread,
Jan 29, 2003, 9:19:05 AM1/29/03
to
Giuseppe ha scritto:
> "Karl Donaubauer ha scritto:

>>> "Carlo Costarella ha scritto:
>>>>
>>>> Prova con:
>>>> DoCmd.RunCommand acCmdDeleteRecord
>>>> ...
>>>
>>> Risultato : Comando od azione'Elimina Record' non disponibile
>>
>> Ci sono situazioni diversi con questo problema.
>> p.e. forse si tratta di un nuovo record che non è ancora salvato.
>> Prova se puoi cancelare il record a mano con la tastatura.
> Cioè?


?
Prendi la tastiera e piantala verso la posizione del record
al monitore.

Ok, forse è colpa del mio italiano perché vedo che lo strumento
si chiama "tastiera". Allora provo un'altra volta con una
descrizione da un libro italiano per A97:
*****
A questo scopo, fate clic sul quadratino grigio a sinistra del
record (l'area di selezione del record).
Eseguite una delle seguente operazioni:

- fate clic sul pulsante "Elimina record" sulla barra degli strumenti
- premete il tasto CANC sulla tastiera
- selezionate "Modifica", "Elimina"
- selezionate "Modifica", "Elimina Record"
*****

Se nessuno di questi metodi funzione non è la colpa del codice
ma della situazione del record, del recordset o della maschera.

Giuseppe

unread,
Jan 29, 2003, 9:30:19 AM1/29/03
to

"Karl Donaubauer" <ad...@donkarl.com> ha scritto nel messaggio
news:b18noi$10m78a$1...@ID-46617.news.dfncis.de...
[CUT]

> *****
>
> Se nessuno di questi metodi funzione non è la colpa del codice
> ma della situazione del record, del recordset o della maschera.
>
> --
> HTH
> Karl
OK Karl utilizzando i comandi del menu funziona.
Ma perchè cazzo in debug mi funziona ed in esecuzione no?
Sarà Access.....
Ciao
Giuseppe


Karl Donaubauer

unread,
Jan 29, 2003, 11:54:38 AM1/29/03
to
Giuseppe schrieb:
> "Karl Donaubauer ha scritto:
> [CUT]

>> Se nessuno di questi metodi funzione non è la colpa del codice
>> ma della situazione del record, del recordset o della maschera.
>> ...

> OK Karl utilizzando i comandi del menu funziona.
> Ma perchè cazzo in debug mi funziona ed in esecuzione no?

Se con "debug" intendi esecuzione passo passo forse
si tratta di un problema del timing. p.e. forse una delle
proprietà nel esecuzione non ha ancora o non ha più il valore
che bisogna nel momento quando il codice prova ad eliminare
il record.

Prova a mettere tutte le proprietà della maschera a un valore
che rende possibile l'eliminazione. Nel codice fai niente che il
Runcommand per l'eliminazione. Se funzione prova di mettere
la prima proprietà a un valore critico e cambia il valore nel
codice, esegui il codice ecc.

Giuseppe

unread,
Jan 29, 2003, 12:00:29 PM1/29/03
to

"Karl Donaubauer" <ad...@donkarl.com> ha scritto nel messaggio
news:b190sg$v5jq2$1...@ID-46617.news.dfncis.de...
Grazie Karl adesso ci provo.
Provo anche a guardare lo Stack di chiamate.
Ciao
Giuseppe
>


Roberto da casa

unread,
Jan 29, 2003, 12:00:45 PM1/29/03
to

"maigret" <a...@aaa.it> ha scritto nel messaggio
news:b16ee5$s26$1...@kyra.unica.it...

>
> > DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
> > DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
>
> geniale!!!
>

E' una forma arcaica che non si usa più, che viene però ancora usata nelle
autocomposizioni di Access.

--
Roberto

---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Alessandro Cara

unread,
Jan 29, 2003, 12:15:58 PM1/29/03
to

io avere sembre faddo cosi', mai avuto rogne

form.recordsetclone.bookmark = form.bookmark
form.recordsetclone.delete

e mango faccio la requery e dudde quelle altre brudde cose.
Mia roudine essere un poco piu' gomplessa berche' buo' gangellare
moldi record.
Io essere barecchio ignorande ma quando stai in debug i menu's
sono gli sdessi di guando non stai in debug?

--
a.cara
Togli qualcosa dall'email

Giuseppe

unread,
Jan 29, 2003, 12:38:41 PM1/29/03
to

"Roberto da casa" <r.ma...@libero.it> ha scritto nel messaggio
news:1NTZ9.60622$ZE.16...@twister2.libero.it...

>
> "maigret" <a...@aaa.it> ha scritto nel messaggio
> news:b16ee5$s26$1...@kyra.unica.it...
> >
> > > DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
> > > DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
> >
> > geniale!!!
> >
>
> E' una forma arcaica che non si usa più, che viene però ancora usata nelle
> autocomposizioni di Access.
>
> --
> Roberto
>
Infatti ho usato quella violando la prima per me legge del programmatore
"Non usare mai le autocomposizioni"
Tu che mi consigli riguardo al problema ed alla luce della corrispondenza
con Karl?
Ciao
Giuseppe
>
>


nugirip

unread,
Jan 29, 2003, 12:36:13 PM1/29/03
to

> E' una forma arcaica che non si usa più, che viene però ancora usata nelle
> autocomposizioni di Access.

a dire la verità ho cercato quale autocomposizione o trasformazione di macro
in VBA potesse averla generata, ma non sono riuscito a trovarla...

ZAO


nugirip

unread,
Jan 29, 2003, 12:45:33 PM1/29/03
to
> Tu che mi consigli riguardo al problema ed alla luce della corrispondenza
> con Karl?

di leggere i post di roberto e il mio


nugirip

unread,
Jan 29, 2003, 12:33:13 PM1/29/03
to
Leggo il codice di sotto riportato. Hai per caso trasformato una macro in
codice VBA?

> Private Sub cmdElimina_Click()
> On Error GoTo Err_cmdElimina_Click

si, decisamnete

> DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

questa istruzione significa: esegui il comado "Elimina della barra dei
menu", non è il modo corretto di eliminare un record, potresti, invece,
usare:

If Me.Recordset.AbsolutePosition <> -1 Then Me.Recordset.Delete


> DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

questa istruzione significa: esegui il comado "Incolla come collegamento
iperetstuale", che non ho capito bene a cosa serva

mi fermo qui
ciao


Karl Donaubauer

unread,
Jan 29, 2003, 1:11:25 PM1/29/03
to
nugirip scritto:

Non so di dove hai queste idee ma non hai ragione.
Le 2 istruzioni sono giusti per selezionare e eliminare un record.
Certo da anni è meglio di usare
RunCommand acCmdDeleteRecord
perchè è più leggibile e anche funzione se la maschera è un Popup.

--
cu

Roberto da casa

unread,
Jan 29, 2003, 1:39:39 PM1/29/03
to

"nugirip" <spamma...@tiscali.it> ha scritto nel messaggio
news:b19732$occ$1...@kyra.unica.it...

In Access 97 Autocomposizione Pulsante di comando; Categoria: Operazioni su
Record; Azioni: Elimina record.

nugirip

unread,
Jan 29, 2003, 1:25:38 PM1/29/03
to
> Non so di dove hai queste idee ma non hai ragione.
> Le 2 istruzioni sono giusti per selezionare e eliminare un record.
premesso che uso A00:

forse giusti non è la parola giusta in quanto (copincolla da guida):

<copincolla>

Nota In Microsoft Access 97 il metodo DoMenuItem era stato sostituito con
il metodo RunCommand. Il metodo DoMenuItem è incluso in questa versione di
Microsoft Access solo per compatibilità con le versioni precedenti. Quando
viene eseguito un codice Visual Basic esistente che contiene il metodo
DoMenuItem, Microsoft Access visualizza il comando del menu o della barra
degli strumenti appropriato per Microsoft Access 2000. Diversamente
dall'azione EseguiVoceMenu in una macro, tuttavia, il metodo DoMenuItem nel
codice di Visual Basic non viene convertito nel metodo RunCommand quando
viene convertito un database creato con una versione precedente di Microsoft
Access.

Alcuni comandi delle versioni precedenti di Microsoft Access non sono
disponibili in Microsoft Access 2000 e i metodi DoMenuItem che eseguono
questi comandi causano un errore quando vengono eseguiti in Visual Basic. È
necessario modificare il codice di Visual Basic per sostituire o eliminare
le occorrenze di questi metodi DoMenuItem.

</copincolla>

Karl Donaubauer

unread,
Jan 29, 2003, 3:47:04 PM1/29/03
to
nugirip <spamma...@tiscali.it> ha scritto:

> > Non so di dove hai queste idee ma non hai ragione.
> > Le 2 istruzioni sono giusti per selezionare e eliminare un record.
> premesso che uso A00:
>
> forse giusti non è la parola giusta in quanto (copincolla da guida):
>
> <copincolla>
>
> Nota In Microsoft Access 97 il metodo DoMenuItem era stato sostituito
con
> il metodo RunCommand
>
> ...blablabla...

Beh, e cosa vuoi dire con questo testo che conosciamo da anni?
Che cosa ha da fare con il problema di Guiseppe o con la tua
interpratezione strana delle 2 MenuItems?

--
?

Maurizio Borrelli

unread,
Jan 29, 2003, 4:13:34 PM1/29/03
to
> "Giuseppe" <sunrexs...@hotmail.com> ha scritto nel messaggio
> news:BkUZ9.136949$AA2.5...@news2.tin.it...

> > "Roberto da casa" <r.ma...@libero.it> ha scritto nel messaggio
> > news:1NTZ9.60622$ZE.16...@twister2.libero.it...
[...]

> > E' una forma arcaica che non si usa più, che viene però ancora usata
nelle
> > autocomposizioni di Access.
> Infatti ho usato quella violando la prima per me legge del programmatore
> "Non usare mai le autocomposizioni"

Dato che le autocomposizioni vengono scritte da "programmatori" potrei
anche concordare con te...

--
Ciao :-)
Maurizio
--------
?SPQR(C)
X
--------


Giuseppe

unread,
Jan 30, 2003, 12:31:14 AM1/30/03
to

"nugirip" <spamma...@tiscali.it> ha scritto nel messaggio
news:b197ki$oih$1...@kyra.unica.it...
Dove c'è solo scritto che è una forma arcaica.
Ciao
Giuseppe

nugirip

unread,
Jan 30, 2003, 4:11:18 AM1/30/03
to
> Beh, e cosa vuoi dire con questo testo che conosciamo da anni?
> Che cosa ha da fare con il problema di Guiseppe o con la tua
> interpratezione strana delle 2 MenuItems?

niente


Giuseppe

unread,
Jan 30, 2003, 8:11:23 AM1/30/03
to

"Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
news:3E380C4E...@blunet.it...

> Giuseppe wrote:
> >
> > "Karl Donaubauer" <ad...@donkarl.com> ha scritto nel messaggio
> > news:b190sg$v5jq2$1...@ID-46617.news.dfncis.de...
[CUT]

>
> io avere sembre faddo cosi', mai avuto rogne
>
> form.recordsetclone.bookmark = form.bookmark
> form.recordsetclone.delete
>
> e mango faccio la requery e dudde quelle altre brudde cose.
> Mia roudine essere un poco piu' gomplessa berche' buo' gangellare
> moldi record.
> Io essere barecchio ignorande ma quando stai in debug i menu's
> sono gli sdessi di guando non stai in debug?

Finalmente funziona!
Grande Ale.
Grazie Buana!

Giuseppe

unread,
Jan 30, 2003, 8:20:31 AM1/30/03
to

"nugirip" <spamma...@tiscali.it> ha scritto nel messaggio
news:b196te$oc1$1...@kyra.unica.it...

> Leggo il codice di sotto riportato. Hai per caso trasformato una macro in
> codice VBA?
>
> > Private Sub cmdElimina_Click()
> > On Error GoTo Err_cmdElimina_Click
>
> si, decisamnete

>
> > DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
>
> questa istruzione significa: esegui il comado "Elimina della barra dei

> menu", non č il modo corretto di eliminare un record, potresti, invece,


> usare:
>
> If Me.Recordset.AbsolutePosition <> -1 Then Me.Recordset.Delete
>
>
> > DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
>
> questa istruzione significa: esegui il comado "Incolla come collegamento
> iperetstuale", che non ho capito bene a cosa serva
>
> mi fermo qui
> ciao
>

Non uso macro.Il codice che vedi l'ho fatto creando un pulsante elimina
record con il wizard
e poi gli ho aggiunto il codice per confermare l'eliminazione.Prometto di
non farlo mai piů.
Cmq ho risolto con l'e-mail di Alessandro Cara.Il problema era cmq perchč
funziona solo
in debug.

Grazie delle spiegazioni che sono sempre molto utili.
Giuseppe.

Alessandro Cara

unread,
Jan 30, 2003, 8:25:17 AM1/30/03
to
Giuseppe wrote:
[cut]
> Il problema era cmq perchè funziona solo in debug.

Sono poco esperto nell'uso del domenuitem (non mi piace il meccanismo)
Nella mia e-mail dicevo se eri sicuro della presenza sui menu' delle
voci che richiamavi. Se non ho capito male il domenuitem fa eseguire
il comando che c'e' sulla voce richiamata. Se la voce richiamata
non e' presente sul menu' che succede?
La cosa strana e' che non ti funziona il comando suggerito da Karl.

Giuseppe

unread,
Jan 30, 2003, 8:34:44 AM1/30/03
to

"Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
news:3E3927BD...@blunet.it...
> Giuseppe wrote:
> [cut]
> > Il problema era cmq perchč funziona solo in debug.

Sul Menu esistono queste voci infatti Karl mi aveva consigliato di provare
a farlo dal menu e cosě funzionava.Un ultima cosa che non ho ben capito
dalla tua e-mail.Il codice che mi hai scritto cancella il record corrente e
mi
sembra vada sul primo record automaticamente.Ma cancella il solo record
corrente vero?
Ciao
Giuseppe


Alessandro Cara

unread,
Jan 30, 2003, 9:33:22 AM1/30/03
to
Giuseppe wrote:
[cut]

> Sul Menu esistono queste voci infatti Karl mi aveva consigliato di provare
> a farlo dal menu e cosě funzionava.Un ultima cosa che non ho ben capito
> dalla tua e-mail.Il codice che mi hai scritto cancella il record corrente e
> mi
> sembra vada sul primo record automaticamente.Ma cancella il solo record
> corrente vero?

si, cancella solo il record corrente (Almeno dovrebbe). Come dicevo
nella mia email fa parte di una routine piu' complessa che consente
di cancellare n record selezionati. Se ti interessa questa "feature"
fammelo sapere, se non mi ricordo male quella routine riposiziona anche
il recordset

Giuseppe

unread,
Jan 30, 2003, 10:31:07 AM1/30/03
to

"Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
news:3E3937B2...@blunet.it...
> Giuseppe wrote:
> [cut]

>
> si, cancella solo il record corrente (Almeno dovrebbe). Come dicevo
> nella mia email fa parte di una routine piu' complessa che consente
> di cancellare n record selezionati. Se ti interessa questa "feature"
> fammelo sapere, se non mi ricordo male quella routine riposiziona anche
> il recordset
>

Mi interesserebbe parecchio sia per cultura personale che praticamente
avendo come avrai notato dal
passaggio del codice
If Me.CurrentRecord = 0 Then

la necessità di capire dove ci si trova nel recordset in quanto la frm in
questione lavora anche con
una routine del tipo

Sub ControllaRecord()
Dim intNum As Integer
intNum = Me.RecordsetClone.RecordCount

If intNum < 1 Then
Me.AllowAdditions = True
Me.AllowEdits = True
cmdSalva.Enabled = True

Else

Exit Sub
End If
End Sub

Ciao
Giuseppe


Alessandro Cara

unread,
Jan 30, 2003, 11:15:13 AM1/30/03
to
Giuseppe wrote:
>
> "Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
> news:3E3937B2...@blunet.it...
> > Giuseppe wrote:
> > [cut]
>
> >
> > si, cancella solo il record corrente (Almeno dovrebbe). Come dicevo
> > nella mia email fa parte di una routine piu' complessa che consente
> > di cancellare n record selezionati. Se ti interessa questa "feature"
> > fammelo sapere, se non mi ricordo male quella routine riposiziona anche
> > il recordset
> >
> Mi interesserebbe parecchio sia per cultura personale che praticamente
> avendo come avrai notato dal
> passaggio del codice
> If Me.CurrentRecord = 0 Then
io questo non lo farei ma testerei le proprieta' EOF e/o BOF anche
perche'
se non stai attento rischi di beccarti l'errore "no current record"

cmq questa e' la routine che uso per cancellare piu' record
"selezionati"

' la proprieta' selheight contiene il numero di righe selezionate.
' Attenzione va salvata in uscita da un subform perche' e' volatile
NumRighe = Frm.Form.SelHeight

If NumRighe = 0 Then NumRighe = 1
Set rst = Frm.Form.RecordsetClone

' allinea il recordsetclone con il form per ricordarsi dove era
rst.Bookmark = Frm.Form.Bookmark

' vabbe' qui ho una gestione degli errori "personalizzata" che manda un
' messaggio che suona "sta in campana stai per eliminare nnnnn record"
If objAppl.LoadMsg("UTN0133Q", CStr(NumRighe)) = 2 Then
rst.MoveFirst

' la proprieta' seltop "racconta" qual'e' il primo record selezionato,
mi muovo
' sul record ed elimino il numero di record selezionati
rst.Move Frm.Form.SelTop - 1
For i = 1 To NumRighe
rst.Delete
' qui testo il fine file (questo succede quando selezionano per la
cancellazione
' anche l'ultimo record)
If Not rst.EOF Then rst.MoveNext
Next
' questa ripristina il puntamento del form
Frm.Form.Bookmark = rst.Bookmark


Else
Exit Sub
End If

Giuseppe

unread,
Jan 30, 2003, 11:41:56 AM1/30/03
to

"Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
news:3E394F91...@blunet.it...

> Giuseppe wrote:
> >
> > "Alessandro Cara" <alexqu...@blunet.it> ha scritto nel messaggio
> > news:3E3937B2...@blunet.it...
> > > Giuseppe wrote:

[CUT]

> > If Me.CurrentRecord = 0 Then
> io questo non lo farei ma testerei le proprieta' EOF e/o BOF anche
> perche'
> se non stai attento rischi di beccarti l'errore "no current record"

..azzo l'ho fatto apposta per intercettare questo errore.lo cambio subito.

> ' la proprieta' selheight contiene il numero di righe selezionate.
> ' Attenzione va salvata in uscita da un subform perche' e' volatile
> NumRighe = Frm.Form.SelHeight

Questa la posso mettere in testa al codice cosě non me la perdo.

Grazie Alessandro non avevo mai osato affrontare il problema di cancellare
piů record
contemporaneamente.non hai idea di che regalo mi hai fatto.
P.S. perchč non scrivi un lavoretto da mandare sul sito tipo "Come si
cancella uno o piů
record".Spero che non faccia la fine del mio sul controllo calendario.
Ciao
Giuseppe

0 new messages