Newsgroup: it.comp.appl.access
Titolo: Parametri!!!

Ho una casella LARGHEZZA ed una LUNGHEZZA, nella terza ho il PARAMETRO.
Mi servirebbe di impostare il parametro in questo modo :
se larghezza è compresa tra 1,3 e 1,50 e lunghezza è compresa tra 2,1 e 2,3
allora il parametro è PIPPO
se larghezza è compresa tra 2,2 e 2,50 e lunghezza è compresa tra 2,9 e 3,3
allora il parametro è PAPERINO
e così via.
Grazie in anticipo
Marco M.

 ha scritto nel messaggio
news:a91i8.47733$Ns4.1...@news2.tin.it...

... bhè non ho capito bene !?
 io opterei per una SELECT CASE ...
...
indeterminato = TRUE
SELECT CASE larghezza
    CASE 1.3 TO 1.5
        IF (lunghezza => 2.1) AND (lunghezza <= 2.3) THEN
            parametro.text = "PIPPO": indeterminato = FALSE
        END IF
    CASE 2.2 TO 2.5
        IF (lunghezza => 2.9) AND (lunghezza <= 3.3) THEN
            parametro.text = "PAPERINO": indeterminato = FALSE
        END IF
END SELECT
if indeterminato = TRUE THEN msgbox "errore ! parametro non determinabile!"
......
ciao van

 ha scritto nel messaggio
news:a91i8.47733$Ns4.1...@news2.tin.it...

Private Sub ImpostaParametro()
    If Me.LARGHEZZA >= 1.3 And Me.LARGHEZZA <= 1.5 _
        And Me.LUNGHEZZA >= 2.1 And Me.LUNGHEZZA <= 2.3 Then
            Me.PARAMETRO = "PIPPO"
    End If
    If Me.LARGHEZZA >= 2.2 And Me.LARGHEZZA <= 2.5 _
        And Me.LUNGHEZZA >= 2.9 And Me.LUNGHEZZA <= 3.3 Then
            Me.PARAMETRO = "PAPERINO"
    End If
End Sub
Private Sub LARGHEZZA_AfterUpdate()
    ImpostaParametro
End Sub
Private Sub LUNGHEZZA:AfterUpdate()
    ImpostaParametro
End Sub
Private Sub Form_Current()
    ImpostaParametro
End Sub
Remarks:
- Forse si può usare "Between" ma la guida in linea l'ha dimenticato...
Prima dovrei provare
- E in tutti gli altri casi (valori non compresi in uno dei due range) cosa
fai?
Ciao
--
Alberto

"Ivan"  ha scritto nel messaggio

Ho provato ma mi si ferma su .....parametro.Text = "PIPPO"
nella tabella ho impostato larghezza e lunghezza come numerico Intero lungo
senza 0
sotto c'è la procedura
Option Compare Database
Private Sub ImpostaParametro()
indeterminato = True
Select Case larghezza
    Case 13 To 16
        If (lunghezza >= 21) And (lunghezza <= 23) Then
            parametro.Text = "PIPPO": indeterminato = False
        End If
    Case 22 To 26
        If (lunghezza >= 29) And (lunghezza <= 33) Then
            parametro.Text = "PAPERINO": indeterminato = False
        End If
End Select
If indeterminato = True Then MsgBox "errore ! parametro non determinabile!"
End Sub
Private Sub Larghezza_AfterUpdate()
    ImpostaParametro
End Sub
Private Sub Lunghezza_AfterUpdate()
    ImpostaParametro
End Sub
Private Sub Form_Current()
    ImpostaParametro
End Sub
Grazie Marco M.

Alberto S.  ha scritto

Ho provato la procedura ma mi da errore leggi la risposta che ho dato ad
Ivan.
Grazie Marco M.


Ho in parte risolto (tolto Text) ma solo sulla prima scelta funziona
Select Case larghezza
  Case 13 To 16
        If (lunghezza >= 21) And (lunghezza <= 23) Then
            parametro  = "PIPPO": indeterminato = False
         End If
se immetto la seconda scelta cioè
Case 22 To 26
        If (lunghezza >= 29) And (lunghezza <= 33) Then
            parametro = "PAPERINO": indeterminato = False
       End If
 non la vede e passa a "errore ! parametro non determinabile!"
Che mi dite?
Grazie Marco M.

 ha scritto nel messaggio
news:_3Ai8.52161$Ns4.2...@news2.tin.it...

... ti consiglio di impostare un punto di interruzione sulla riga della
SELECT
e da lì controllare se LARGHEZZA arriva con i valori che cerchi.
puoi comunque intrappolare altri valori con la classica CASE ELSE
ma dovresti filtrare prima i valori della variabile per non arrivare alla
SELECT con quantità a caso!
van


Hai provato anche la soluzione che ho suggerito io? Che errore ti da?
Ciao
--
Alberto



Ma veramente problemi veri sono solo di impostazione;
il primo è che dovrei gestire una quindicina di parametri e non solo due,
poi se imposto il comando della routine su Private Sub
LUNGHEZZA:AfterUpdate() mi blocca il tutto dandomi un'errore imprecisato
...ma provando cerco di trovare la giusta impostazione.
Vi chiedo aiuto sul numero di parametri da impostare, nella rutine, o magari
sarebbe meglio se impostassi dei riferimenti su di una tabella legata a tali
parametri, cosa ne pensate?
Grazie Marco M.


Per il resto ... non saprei ... bisognerebbe conoscere esattamente come
influiscono i valori dei vari controlli nella determinazione del risultato
finale.
In astratto le soluzioni possibili sono più di una (una funzione,
espressioni in controlli non associati della maschera, campi calcolati nella
query che è origine dati della maschera ...). Probabilmente esiste una
logica (trasformabile in un algoritmo) che porta al risultato.
Ciao
--
Alberto