Newsgroup: it.comp.appl.access
Titolo: Problema eliminazione intervento.

Il seguente codice elimina l'intervento selezionato per il record corrente:
----------------- INIZIO CODICE ------------------------------
Private Sub cmdEliminaIntervento_Click()
Dim rif As Variant
Dim scelta As Variant
rif = [Forms]![frmSchedaPrimoContatto]![id]
inScelta:
scelta = InputBox("Inerisci il numero dell'intervento da eliminare",
"Eliminazione intervento")
If IsNull(scelta) Or (scelta = "") Then
    If MsgBox("Numero intervento non valido - Annullare l'eliminazione?",
vbQuestion + vbYesNoCancel, "Eliminazione intervento") = vbYes Then
        Exit Sub
    Else
        MsgBox "Inserire un numero valido", vbExclamation, "Eliminazione
intervento"
        GoTo inScelta
    End If
 
ElseIf (scelta > DMax("NumeroIntervento", "tblInterventi", "[idUtente = ]"
& rif)) Then
    MsgBox "Numero intervento non valido", vbCritical, "Eliminazione
intervento"
    GoTo inScelta
 
Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE * FROM tblInterventi WHERE NumeroIntervento = " &
scelta & " AND idUtente =" & rif
    MsgBox "Numero intervento eliminato", vbInformation, "Eliminazione
intervento"
End If
End Sub
-------------------- FINE CODICE ----------------------------
Questo codice funzionerebbe bene se non fosse per questa riga:
ElseIf (scelta > DMax("NumeroIntervento", "tblInterventi", "[idUtente = ]"
& rif)) Then
mi dice operatore mancante nella query e poi scrive 'idUtente=265' che è
appunto l'id giusto.
Con questo codice io voglio far annullare un qualsiasi intervento
all'utente per il record corrente,
controllando che immetta sempre un valore di intervento corretto.
Ma dove sbaglio con quella riga?
Ho provato a cambiarla in
ElseIf (scelta > DMax("[NumeroIntervento]", "tblInterventi", "[idUtente =
]" & rif)) Then
ma non cambia niente, ho sempre lo stesso messaggio di errore.
Grazie mille!!!! :D
-- 
Non avere mai pura dei momenti bui perchè, facci caso, anche le stelle
hanno bisogno della notte per brillare.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 & rif)) Then
che succede se togli le parentesi quadre (che comunque non andrebbero messe
in quel modo)?
ElseIf (scelta > DMax("NumeroIntervento", "tblInterventi", "idUtente = "
& rif)) Then
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Ciao,
prova a mettere 1 doppi apici dopo rif 

Ciao, dunque la sintassi l'ho trovata uguale uguale negli esempi della
guida in linea.
Ora cmq provo come avete detto e vi faccio sapere.
Grazie :)

Ho provato a fare varie prove ma non cambia niente.
Ecco il codice 'nuovo':
ElseIf (scelta > DMax("[NumeroIntervento]", "tblInterventi",
"[idUtente] = " & "'rif'")) Then
ma non va.
Non so che fare.
Il controllo dovrebbe essere:
SE il numero inserito è MAGGIORE del MAGGIORE numero nel campo
'NumeroIntervento' della tabella 'tblInterventi', relativo all'utente
'idUtente' = rif ALLORA
però pare che non funzioni. Il numero che inserisco SEMBRA SEMPRE
MAGGIORE.
Come modificare il codice?
Grazie.

[OT] - Ho visto che nel Sitocomune Ale Baraldi ha inserito la FAQ -
Tables 1.32 e pare proprio facesse riferimento al caso del mio campo
Numero Progressivo!!! Che figata, ho contribuito indirettamente al ng.
Ale ti posto altre robe se ti va :)

 ha scritto nel messaggio
news:1117821888.5...@f14g2000cwb.googlegroups.com...

E' pubblicata dal 28 Aprile e nel mio sito da Agosto 2004....!!!
Che fregatura non c'entri nulla...!
;-)
Ciao Giulio.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

Grrrr :)
Cmq ho risolto il problema della funzione DMax. Il problema stava nel
valore restituito dalla Inputbox, che è sempre una stringa. E una
stringa ha sempre valore maggiore di un numero perciò la condizione:
ElseIf (scelta > DMax("NumeroIntervento", "tblInterventi", "idUtente =
"
& rif)) Then
era sempre vera.
E' bastato mettere CInt qui:
scelta = CInt(InputBox("Inerisci il numero dell'intervento da
eliminare", 
"Eliminazione intervento"))
per risolvere il problema.