Newsgroup: it.comp.appl.access
Titolo: Prorpietà campo!  Valore predefinito (Urgente)

Salve ragazzi ho veramente bisogno di voi!
cerco di spiegarvii il meglio che posso il mio problema, per  riuscire nella
soluzione.
Ho due  tabelle
Magazzino                                                Ordini
OrdineCodice (chiave)                              OrdineCodice
DataPartenza                                             ..........
N°Fattura                                                  CodReg (codice
che assegno ad ogni ordine in base alla regione -es piemonte 31)
DataFattura                                               Zona  ( raggurppa
il cod_reg sotto un'unica zona es piemonte e friuli zona 1 ecc.)
N°Colli
VolumeM3
PesoLordo
Spese  (valore predefinito 2,00 euro)
Fisso   (valore predefinito 7,00 euro)
Trasporto ................(problema campo predefinito)
qui sorge il problema, poichè questo campo mi serve per poter procedere con
la fatturazione mi servirebbe che fosse predefinito in una forma del genere:
Se VolumeM3 < 0,5 allora  leggi campo [Zona] e se il campo [Zona]= 1 allora
assegna al campo [Trasporto] il valore 30,00 euro
Se VolumeM3 >1,5 alloa leggi campo [Zona] e se il campo [Zona]= 1 allora
assegna al campo [Trasporto] il valore 60.00euro
Se VolumeM3 Compreso tra 1 e 5 allora  leggi campo [Zona] e se il campo
[Zona]= 1 allora assegna al campo [Trasporto] il valore 80 euro
Se VolumeM3 < 0,5 allora  leggi campo [Zona] e  se il campo [Zona]= 2
assegna al campo [Trasporto] il valore 40,00 euro
Se VolumeM3 >1,5 allora leggi campo [Zona]  e se il campo [Zona]= 2 allora
assegna al campo [Trasporto] il valore 50.00euro
Se VolumeM3 Compreso tra 1 e 5  leggi campo [Zona]   se il campo [Zona]= 2
allora assegna al campo [Trasporto] il valore 60 euro
Se VolumeM3 < 0,5  leggi campo [Zona]  se il campo [Zona]= 3allora assegna
al campo [Trasporto] il valore 30,00 euro
Se VolumeM3 >1,5  leggi campo [Zona]  se il campo [Zona]= 3 allora assegna
al campo [Trasporto] il valore 60.00euro
Se VolumeM3 Compreso tra 1 e 5  leggi campo [Zona]  se il campo [Zona]=
3allora assegna al campo [Trasporto] il valore 80 euro
lo so è un casino ma non esiste una funzione magari in vba che mi facesse
rendere questo campo predefinito per l'uso?
credo che sia l'unica soluzione.
MI aiutate vi scongiuro .

 ha scritto nel messaggio
news:GnaKd.461765$b5.21...@news3.tin.it...

Ciao Fabrizio,
puoi ottenre quanto descrivi, mettendo nell'evento Prima di Aggiornare della
maschera di inserimento una funzione che realizzi quanto hai descritto a
parole  ti consiglio di raggruppare tutti i se VolumeM3   e di tistinguere
all'interno dell'if i casi [Zona]
Ti faccio un esempio su VolumeM3 < 0,5
if VolumeM3 < 05 then
    Select case me.Zona
        case 1, 3
                  Me. Trasporto = 30
        case 2
                 Me.Trasporto = 40
        case else
                Me.trasporto = 0
   end select
elseif VolumeM3>1 AND volumeM3< 5 then
    .....
else ' VolumeM3 > 5
  .....
end if
Fai attenzione che come hai definito tu la regola c'è una incongruenza in
quanto se un pacco pesa ad esempio 2 KG soddisfa sia il caso >1,5   sia il
caso >1 e < 5
Attenzione però che con una soluzione di questo tipo quando cambieranno i
costi del trasporto sarai costretto a modificare il codice e  ciò non sempre
è bello.
Probabilmente potresti ricavare le stesse informazioni usando una tabella di
appoggio  in cui definisci i costi del trasporto
Es:
PESODA    PESOA    Zona    Costo
0                    0,5            1            30
0                    0,5            2            40
0                    0,5            3            30
1                    5                1            80
e la usi per ricavarti il costo da inserire in fattura.
Facci sapere...
Cinzia

 caso >1 e < 5
Ahhhhhh, si,  scusa.......hai ragione ma ho buttato li i valori senza
accorgemene.
Gentilmente potresti dirmi il codice per dichiarare il tutto...
la mia maschera si chiama "FatturaFb"
con i seguenti campi
OrdineCodice
Colli
Peso
Volume
Mcb(metricubi)
SpeseDogana predefinito 2,00 euro
Spesefisse      predefinito 4,00 euro
Trasporto
Tutti campi testo.
Speriamo che mi arrivi il libro cosi mi studio un pò di vba che figata!!!!!


Ciao Fabrizio,
Ho supposto che nella maschera ci sia anche un campo Zona....
Private Sub Form_BeforeUpdate(Cancel As Integer)
 if  me.Mcb< 05 then
     Select case me.Zona
        case 1, 3
                   Me. Trasporto = 30
        case 2
                 Me.Trasporto = 40
       case else
                 Me.trasporto = 0
    end select
 elseif me.Mcb>1 AND me.Mcb< 5 then
    Select case me.Zona
        case 1, 3
                   Me. Trasporto = 60
        case 2
                 Me.Trasporto = 80
       case else
                 Me.trasporto = 0
    end select
else ' me.Mcb> 5
Select case me.Zona
        case 1, 3
                   Me. Trasporto = 80
        case 2
                 Me.Trasporto = 90
       case else
                 Me.trasporto = 0
    end select
 end if
End Sub
ovviamente dovrai adattare i valori..
comunque, studia il VBA ...  c'è di che divertirsi....
Ciao
Cinzia