Newsgroup: it.comp.appl.access
Titolo: evitare ripetizioni

ciao a tutti
 
è possibile evitare ripetizioni in questo codice?
grazie
 
  Dim rsCheck As dao.Recordset
  Set rsCheck = Me!SM_DettCarichi.Form.RecordsetClone
 
  Me!SM_DettCarichi.SetFocus
 
  rsCheck.FindFirst "nColli=0"
 
  If Not rsCheck.NoMatch Then
    Me!SM_DettCarichi.Form.Bookmark = rsCheck.Bookmark
    Me!SM_DettCarichi.Form!nColli.SetFocus
    GoTo Esci
 
  End If
 
  rsCheck.FindFirst "Quantità=0"
 
  If Not rsCheck.NoMatch Then
    Me!SM_DettCarichi.Form.Bookmark = rsCheck.Bookmark
    Me!SM_DettCarichi.Form!Quantità.SetFocus
    GoTo Esci
 
    End If
 
  rsCheck.FindFirst "Prezzo=0"
 
  If Not rsCheck.NoMatch Then
    Me!SM_DettCarichi.Form.Bookmark = rsCheck.Bookmark
    Me!SM_DettCarichi.Form!Prezzo.SetFocus
    GoTo Esci
 
    End If
Esci:
  Set rsCheck = Nothing

francode...@gmail.com
 used his keyboard to write :

Non l'ho provato, quindi non c'è alcuna garanzia!
 
Dim CheckSArray(1 To 3) As String, j as Integer
 
CheckArray(1) = "nColli"
CheckArray(2) = "Quantitaà"
CheckArray(3) = "Prezzo"
 
For j = 1 To 3
    rsCheck.FindFirst CheckArray(j) & " = 0"
    If Not rsCheck.NoMatch Thwn
        SM_DettagliCarichi.Form.Bookmark = rsCheck.Bookmark
        SM_DettagliCarichi.Form!Me(CheckArray(j)).SetFocus
        GoTo Esci
    End If
Next
 
Esci:
    Exit Sub
 
Bruno


ciao Bruno e grazie
ho l'errore in questo punto
SM_DettCarichi.Form!Me(CheckArray(j)).SetFocus
 
Impossibile trovare il campo 'Me' a cui si fa riferimento nell'espressione
 
se lo tolgo(Me) non ho l'errore, ma il cursore non si posiziona su nessun controllo.

francode...@gmail.com
 explained on 25-03-16 :

Con SM_DettagliCarichi.Form(CheckArray(j))
puoi vedere ed editare il campo.
 
Quanto a selezionare un campo di sub-form io non ci riesco.
Selezionare un campo (Form o subForm che sia) è comunque
normalmente cosa del tutto inutile.
 
Bruno

 normalmente cosa del tutto inutile.
 
Perche? La .setfocus ha uno scopo preciso ed utile
 
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 


grazie Bruno
funziona
 
In effetti hai ragione Alessandro
era quello il problema
grazie
 
ecco il codice completo 
 
 
Dim CheckArray(1 To 3) As String, J As Integer
Dim X As String
Dim rsCheck As dao.Recordset
 
Set rsCheck = SM_DettCarichi.Form.RecordsetClone
 
CheckArray(1) = "nColli"
CheckArray(2) = "Quantità"
CheckArray(3) = "Prezzo"
 
For J = 1 To 3
rsCheck.FindFirst CheckArray(J) & " = 0"
 
If Not rsCheck.NoMatch Then
  SM_DettCarichi.Form.Bookmark = rsCheck.Bookmark
  SM_DettCarichi.SetFocus
  SM_DettCarichi.Form(CheckArray(J)).SetFocus
  GoTo Esci
 
End If
 
Next
Esci:
Set rsCheck = Nothing
 
End If
Exit Sub

 Perche? La .setfocus ha uno scopo preciso ed utile
Non ho mai avuto necessità di farlo.
 
Mi correggo, l'ho fatto qualche volta dovendo da Form
eseguire il Click sopra un Command Button residente
in sub-Form.
Cosa quest'ultima (avere un Command Button in sub-Form
da eseguirsi da Form) che rappresenta una delle
più grosse cazzate di programmazione che si possano
commettere.
 
Opinions, of course!
 
Bruno


200 text  box
La verifica riscontra un errore.
L'errore puo' essere imputabile ai txtbox 83, 97, 101
Io punto il cursore su 83 ed evidenzio 97 e 101
Questo per evitare che il mio utente mi mandi affanculo.
Ed io sono molto sensibile ai vaffanculo.



vaffanculo :-) 
No dai, scherzo. 
 
Non ricordo piu bene il significato di questa istruzione
Me!SM_DettCarichi.Form
 
Ossia nella maschera corrente (Me) cè una altra maschera
denominata SM_DettCarichi ? 

radica...@gmail.com
 wrote on 26-03-16 :

Yes Sir!
Che io avrei dichiarato così:
[SM_DettCarichi].Form, perché Me quando non è funzione
non serve a niente, il nome del controllo va chiuso fra
[...] se contiene spazi.
 
Bruno

 [...] se contiene spazi.
 
Non ho capito una mazza, abbi pazienza :-) 
Che intendi  con  "Me non  in  funzione" ? 
 
Per quanto riguarda gli spazi invece ho capito.
Quello è facile :-) 

 Quello è facile :-) 
 
Puoi definire il campo (più esattamente: il controllo!)
di una Form con:
 
1 - Me![ABC]
2 - [ABC]
 
Dim X as String
X = "ABC"
 
3 - Me(X)
 
Nella versione 3, Me è una funzione.
Nella vrrsione 1, Me non serve un c...
 
Bruno


Ossia nel codice posso tranquillamente riferirmi a un 
controllo con [nome_controllo] ? 
 
Tipo che so ... 
 
if [nominativi].text = "Mario Angelini"  then ... 
 
Se si, questa proprio non la sapevo. 
 
 
 

radica...@gmail.com
 expressed precisely :

Sempre che il controllo sia sulla Form attiva.
E se quel "Mario Angelini" non è una property, bensì
il contenuto, il "Value" di quel campo,
puoi anche omettere il .Text:
 
If [nominativi] = "Mario Angelini" Then
 
Bruno

 If [nominativi] = "Mario Angelini" Then
 
OK