Newsgroup: it.comp.appl.access
Titolo: Re: Ha valore  >0 in tipo dati "testo"?

 ha scritto nel messaggio 
news:53bf7b8a-40be-4c95...@m10g2000yqd.googlegroups.com...
ciao a tutti
Ha valore se inserisco in valido se >0, se il tipo dati � testo?
Grazie
per toglierti un dubbio del genere, vai nella finestra immediata di un 
modulo e metti
? "pippo" > 0
vedi cosa esce fuori e cosa ti da l'help successivo
poi ne riparliamo
Antonio 

 Grazie
La questione sembra semplice ma ha alcuni aspetti gustosi
1) a > b :in cui b e numerico e a e' un alfanumerico
   ti godi un bell'errore 13 (tipo non corrispondente)
2) a > b :come sopra ma a, sebbene definito non numerico (es " -23")
   in questo caso access fa una conversione automatica del " -23" in 
numerico et quindi la risposta e' corretta. Il motivo dell'errore 
precedente e proprio perche' nel tentativo di fare la conversione c'e' 
qualcosa che non va.
3) La cosa diventa, ovviamente, inguidabile se entrambi gli operatori 
sono alfanumerici e contengono numerici poiche', in questo caso, "11" > 
"2" e' falso (non avviene alcna conversione)
-- 
ac (x=y-1)


wrote:
errore di run-time 13
Tipo non corrispondente
in pratica non si pu� fare.
______________________________________
Gi� qui la conclusione non � esatta
Si pu� fare se i dati di tipo testo confrontati con l'operatore > sono 
composti da cifre
o usando la sua conversione o meglio forzando la conversione (es. funzione 
CInt) poi puoi usare gli operatore numerici
Se il testo ha anche lettere i confronti non li puoi fare
______________________________________
Io ho la necessit� di avere in un'unica casella due numerazioni
differenti:
la prima con numerazione progressiva per documenti miei mentre
l'altra con numeri che possono contenere anche lettere e che non hanno
una numerazione
progressiva.
La soluzione che mi ero proposto non � quindi realizzabile, cio�
inserire
in un'unica casella di testo i due tipi di numerazione.
______________________________________
ma che significa mettere in una casella le due numerazioni?
sono dati non confrontabili tra loro, quindi lasciali in campi appositi
poi, se l'altro campo ha anche le lettere non puoi fare confronti numerici
a meno che, il formato di salvataggio dei dati di quel campo ti permette di 
estrapolare in maniera certa la parte numerica con le funzioni sulle 
stringhe (len, mid, left, right) allora estrapoli e confronti solo la parte 
numerica convertendo il testo estratto in numero
Antonio 

 
prova a descrivere il problema che ti porta a volere due numerazioni nella 
stessa casella, invece di proporre tante soluzioni per vedere se ne salta 
fuori una utilizzabile...
fai molto prima e rischi di risolvere il problema sul serio.
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 
innews:ab74a1ee-4860-4fb2...@e21g2000vbz.googlegroups.com
:
ciao Paolo e Antonio
e grazie per l'aiuto
Ho una maschera che utilizzo per i miei ddt
ma siccome a volte effettuo delle triangolazioni,
dove non sono io ad emettere il ddt, volevo
con la stessa maschera caricare anche i ddt
delle triangolazioni.
Ora l'unico problema � la numerazione, perch�
mentre in quelli che emetto io i numeri devono essere progressivi,
in quelli che carico (provenienti dalle triangolazioni)
i numeri possono essere di diverso tipo
p.e. 1250, 250/E, AU/750 ecc. ecc.
Volevo eviatare di fare una seconda casella di testo,
ma Antonio mi ha consigliato di farla.
Ribadisco, sono due informazioni diverse, la tua numerazione e la 
numerazione esterna e secondo me devono rimanere separate
in tutto questo per� ancora non si � capito il motivo del tuo thread, cio� 
l'uso dell'operatore >
che tipo di confronti devi fare???
Antonio 

 numerica convertendo il testo estratto in numero
Antonio, cool down, please: non è più un mistero che Ugo sia molto
"letterale" nel prendere suggerimenti & consigli.
Popi :)

 Antonio
Ciao Antonio e grazie
era riferito al nomecampo NumDDT della Tb_testataDDT
valido se >0,
chiedevo se nel caso di tipo dati testo
poteva essere considerato valido o dovevo toglierlo.
ma perch� valido se >0 ????
perch� deve essere >0?
lo inserisci tu? � ricavato?
non basta che sia non null?
Nel caso delle due caselle per la numerazione,
usando .enabled o .visible le posso sovrapporre?
se sono due entit� diverse, lasciale entrambe
Antonio

 wrote:
uno lo devo inserire io
l'altro � ricavato
If IsNull(NumDDT) Then
    Me.NumDDT = Nz(DMax("[NumDDT]", "[TbTestataDDT]"), 0) + 1
End If
ma allora, a che serve testare se � > 0 ????
Antonio 

 Antonio
Ciao Antonio
perch� inizialmente lo mettevo io.
Ma ora non posso mettere is notnull comunque
perch� quando devo attivare la seconda casella
devo impostarla per forza a null per non perdere
i numeri per i miei ddt.
Ora sono di nuovo in difficolt� per una banale condizione.
Non riesco a capire perch� sia che la cboFornitore � nulla
che non le due caselle che servono per la numerazione
rimangono uguali
Ecco il codice d'esempio:
If IsNull(Me.CboFornitore) Then
    Me.NumDDT.Enabled = False
    Me.NumDDT = ""
    Me.NumDDT_1.Enabled = True
    MsgBox "Attenzione non dimenticare il numero"
Else
    Me.NumDDT.Enabled = True
    Me.NumDDT_1.Enabled = False
End If
Grazie per l'aiuto
ma soprattutto, sto codice dove � piazzato?
Antonio