Newsgroup: it.comp.appl.access
Titolo: problema con Select Case

Ciao a tutti ho questo problemino con la funzione Select Case:
Private Sub Form_Open(Cancel As Integer)
Select Case [Entrata]
    Case Is = 0
        [PesoEntrata] = 5
    Case 1 To 5000
        [PesoEntrata] = 1
    Case 5001 To 10000
        [PesoEntrata] = 2
     Case 10001 To 20000
        [PesoEntrata] = 3
     Case Is > 20000
        [PesoEntrata] = 4
    End Select
Select Case [Uscita]
    Case Is = 0
      [PesoUscita] = 5
    Case 1 To 5000
        [PesoUscita] = 1
    Case 5001 To 10000
        [PesoUscita] = 2
     Case 10001 To 20000
        [PesoUscita] = 3
     Case Is > 20000
        [PesoUscita] = 4
    End Select
Select Case [PesoEntrata]
    Case Is = 1
        [TariffaEntrata] = 3800
    Case Is = 2
        [TariffaEntrata] = 7900
    Case Is = 3
        [TariffaEntrata] = 11700
    Case Is = 4
        [TariffaEntrata] = 14200
    Case Is = 0
        [TariffaEntrata] = 0
    End Select
Select Case [PesoUscita]
    Case Is = 1
        [TariffaUscita] = 3800
    Case Is = 2
        [TariffaUscita] = 7900
    Case Is = 3
        [TariffaUscita] = 11700
    Case Is = 4
        [TariffaUscita] = 14200
    Case Is = 5
        [TariffaUscita] = 0
    End Select
End Sub
Funziona correttamente in un'altro programma, ora che ho necessità di
rifarlo mi dà il seguente problema:
Se Entrata o Uscita corrisponde a 0 mi ridà comunque il PesoEntrata o
PesoUscita = 4 e non a 5 come richiesto.
Creando alla fine dei casini, visto che il programma mi serve per calcolare
il numero delle pesate mensili da addebitare all'utenza, e il costo varia a
seconda del peso.
Succede che alcuni utenti eseguano solo il peso di entrata, quindi ho
bisogno di un PesoUscita = 0 con una TariffaUscita = 0
Grazie mille
Ale

 ha scritto nel messaggio
news:94jhpi$1962$1...@half.spin.it...

Ciao Alessia,
ho provato a riscrivere così e mi sembra che funzioni:
Private Sub Form_Open(Cancel As Integer)
  Select Case [Entrata]
    Case Is = 0
         [PesoEntrata] = 5
         [TariffaEntrata] = 0
    Case 1 To 5000
         [PesoEntrata] = 1
         [TariffaEntrata] = 3800
    Case 5001 To 10000
         [PesoEntrata] = 2
         [TariffaEntrata] = 7900
     Case 10001 To 20000
         [PesoEntrata] = 3
         [TariffaEntrata] = 11700
     Case Is > 20000
         [PesoEntrata] = 4
         [TariffaEntrata] = 14200
  End Select
  Select Case [Uscita]
    Case Is = 0
       [PesoUscita] = 5
       [TariffaUscita] = 0
    Case 1 To 5000
         [PesoUscita] = 1
         [TariffaUscita] = 3800
    Case 5001 To 10000
         [PesoUscita] = 2
         [TariffaUscita] = 7900
     Case 10001 To 20000
         [PesoUscita] = 3
         [TariffaUscita] = 11700
     Case Is > 20000
         [PesoUscita] = 4
         [TariffaUscita] = 14200
  End Select
End Sub
e ottengo questo risultato
E= 22000   U= 22000   PE= 4   PU= 4   TE= 14200   TU= 14200
E= 12000   U= 12000   PE= 3   PU= 3   TE= 11700   TU= 11700
E= 8000   U= 8000   PE= 2   PU= 2   TE= 7900   TU= 7900
E= 4000   U= 4000   PE= 1   PU= 1   TE= 3800   TU= 3800
E= 0   U= 0   PE= 5   PU= 5   TE= 0   TU= 0
--
Silvio
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access


Ciao Alessia,
ho copiato ed incollato la tua sub modificando alcuni punti per fare delle
prove. Praticamente è diventata una function (l'ho chiamata
xform_open(Entrata, Uscita)) che chiede due valori Entrata e Uscita e mi
ritorna PesoEntrata/PesoUscita/TariffaEntrata/TariffaUscita.
Ho fatto queste prove:
- xform_Open(0,0)
risultato: PesoEntrata=5, PesoUscita=5, TariffaEntrata=0, TariffaUscita=0
- xform_Open(5,0)
PesoEntrata=1, PesoUscita=5, TariffaEntrata=3800, TariffaUscita=0
- xform_Open(0,5)
PesoEntrata=5, PesoUscita=1, TariffaEntrata=0, TariffaUscita=3800
- xform_Open(5,5)
PesoEntrata=1, PesoUscita=1, TariffaEntrata=3800, TariffaUscita=3800
Chiaro che per me queste prove (con i risultati) non hanno senso ma non ho
riscontrato un valore di ritorno = 4 se Entrata o Uscita = 0.
Ora provo a inserire la tua sub su una maschera con caselle di testo...
Ciao.


La cosa che ho notato è che se Entrata=0 tu imposti PesoEntrata=5 ma dopo
nel Select case di PesoEntrata non testi il valore PesoEntrata=5, mentre lo
fai invece per PesoUscita...
Ciao.