Newsgroup: it.comp.appl.access
Titolo: problema con defaultvalue

Ciao, ho il seguente problema:
ho 27 caselle combinate che come valore predefinito hanno ognuna un
valore compreso nel loro elenco.
Sin dall'inizio, ho notato che il defaultvalue non veniva visto dal
codice, ho provato però con la finestra immediata e questa mi da il
valore predefinito.
Il problema adesso è che quando scelgo un valore di ciascuna casella
diverso da quello predefinito, ho bisogno che un campo calcolato mi
faccia una differenza (che non sto qui a spiegarvi) tra il valore
scelto è quello predefinito.
Dato che come dicevo le caselle combinate sono tante, ho creato due
private function;
la prima è ok, passo il valore scelto della casella, il primo
moltiplicando, il secondo e mi da il risultato.
la seconda no! Perchè passo il valore predefinito e già qui (con il
debug.print) non lo vede, quindi lo considera sempre nullo
Domanda: Come si fa a far riconoscere da codice il valore predefinito
di una casella combinata? Il defaultvalue non funge, (sarà forse
perchè me lo vede tra virgolette)
Grazie per una risposta

 Grazie per una risposta
Posto che la tua casella combinata si chiami CasellaCombinata0 basta:
Me.CasellaCombinata0.DefaultValue
Bye, Ste
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Come ho detto prima, il default value non funge



impossibile.
puoi postarmi il programma ridotto (togli ciò che non serve) e
compresso? specifica anche cosa non va 
fan...@tiscali.it
Saluti.
Emanuele.



ti posso garantire che è un casino anche x me leggere il codice.
questo è l'if then:
Private Function Calcolo2(n As String, b As Variant, c As Variant) As
Variant
 
        m = 0
        If n = "2 volte" Then
            m = 520 * b * c
        Else
            If n = "1 volta" Then
                m = 260 * b * c
            Else
                If n = "Tri-settimanale" Then
                    m = 156 * b * c
                End If
            End If
        End If
 
 
 
 
End Function
e questo è ciò che li passo:
Call Calcolo2(Me.freq1.DefaultValue, Me.off1, Me.mq)
dove me.freq1.defaultvalue è il valore predefinito della casella che
in questo caso è "1 volta"
mi rimanda m=0 (perchè come noterai dalla prima riga è 0 ) ma se lo
pongo =12 per esempio, mi ripassa m=12.
Praticamente non trova niente tra il defaulvalue e i 3 if then else



postami il programma su 
fan...@tiscali.it
 faccio prima così
Saluti.
Emanuele.

         End If
Comunque c'è un bel debugger integrato per queste cose, prima di pensare
alle property che non vanno...




Grazie per la risposta ma non è per niente chiara!!

 Grazie per la risposta ma non è per niente chiara!!
Mi sa che hai un if "aperto" che non considera tutti i valori
di n possibili.
Metti un bel msgbox "Qua n=" & n all'inizio della procedura;
sono piuttosto sicuro che arriva un valore non previsto nei tuoi
if ed in mancanza di un else generale te lo perdi.
Sarebbe meglio addirittura un bel select case:
select case n
  case "2 volte"
    ....
  case "1 volta"
    ....
  case "tri-settimanale"
    ....
  case else
    msgbox "Valore non considerato!" 
end select
Bye, Ste
PS: anche i valori che hai dato alla combo sono discutibili,
non facevi prima ad associarla ad una colonna numerica nascosta?
