Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Errore calcolo textbox
venerdì 08 maggio 2015 - 16.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Windows XP
|
Access (.mdb)
|
Office 2007
|
Firefox
Ms402
Profilo
| Newbie
21
messaggi | Data Invio:
ven 8 mag 2015 - 16:23
Salve, ho una maschera dove tramite 3 combobox collegate richiamo dei valori che vengono inseriti in delle textbox. Poi ho altre textbox in cui vengono effettuati dei calcoli con i valori precedentemente richiamati. Ora il problema che si presenta è che quando mi va a fare la somma di 2 campi richiamati, non li tratta come numeri ma come testo. Invece di sommare 2+1=3 mi scrive 21. Questo lo fa solo con l'addizione mentre con altre espressioni più complesse funziona bene.
In origine controllo scrivo l'espressione: =[Testo0]+[Testo2]
C'è una soluzione? Anticipatamente ringrazio.
Ho fatto un tentativo facendo compiere i calcoli in una query e poi richiamarli. Ora i calcoli sono esatti ma anche impostando i decimali alla 2 cifra me li mostra tutti ignorando le istruzioni, quindi deduco che li tratta come testo e non come numeri.
renarig
Profilo
| Expert
517
messaggi | Data Invio:
sab 9 mag 2015 - 22:07
>.... Poi ho altre textbox in cui vengono effettuati dei calcoli
>con i valori precedentemente richiamati. ........
>..... non li tratta come numeri ma come testo
> ...... Invece di sommare 2+1=3 mi scrive 21
Se fossero veramente dei numeri ti scriverebbe 3
se invece ti scrive 21 è evidente che si tratta di testi
il motivo potrebbe essere nei "calcoli" che citi e soprattutto nelle
funzioni che usi per effettuare i tuoi calcoli.
devi consultare la guida e controllare il tipo dato restituito da ogni funzione utilizzata
e se questo fosse testo ( stringa ) allora convertilo subito in numero con le specifica
funzione
- CDbl([NomeControllo]) ----- per i decimali
- CInt([NomeControllo]) ------ per gli interi
PS: inutile dirti che la conversione potresti farla anche alla fine
=CDbl([Testo0])+CDbl([Testo2])
ma io la consiglio alla origine
Facci sapere
Ms402
Profilo
| Newbie
21
messaggi | Data Invio:
dom 10 mag 2015 - 23:01
Carico le textbox con:
Private Sub cbo3_AfterUpdate()
Me!Testo0 = Me!cbo3.Column(1)
Me!Testo2 = Me!cbo3.Column(2)
End Sub
Se utilizzo la formula
=CDbl([Testo0])+CDbl([Testo2])
all'apertura della form mi da nella textbox dove viene effettuati il calcolo il valore #ERRORE fino alla selezione delle textbox. Ho provato ad usare la funzione NZ:
=Nz(CDbl([Testo0]);0)+Nz(CDbl([Testo2]);0)
ma non cambia nulla. Vorrei evitare di mostrare lo zero nelle textbox 0 e 2.
PS in un'altra textbox effettuo la divisione
=[Testo0]/[Testo2]
tutto funziona perfettamente. Mi chiedo il perchè di questa cosa.
Grazie per l'aiuto.
renarig
Profilo
| Expert
517
messaggi | Data Invio:
dom 10 mag 2015 - 23:49
> Se utilizzo la formula
>=CDbl([Testo0])+CDbl([Testo2])
>all'apertura della form mi da nella textbox dove viene effettuati
>il calcolo il valore #ERRORE fino alla selezione delle textbox.
L'errore sta nel fatto che tenti di convertire un valore inesistente in un numero ........
Dovevo pensarci prima
>Ho provato ad usare la funzione NZ:
>=Nz(CDbl([Testo0]);0)+Nz(CDbl([Testo2]);0)
l'errore è gia nel CDbl([Testo0]) pertanto il Nz...
non ti puo aiutare se usato in quel modo.
Se fai cosi invece dovrebbe funzionare
=CDbl(Nz([Testo0];0))+CDbl(Nz([Testo2];0))
Facci sapere
Ms402
Profilo
| Newbie
21
messaggi | Data Invio:
lun 11 mag 2015 - 14:34
Ok funziona perfettamente. Grazie. L'unica cosa che non capisco perchè quando inserisco valori numeri tramite una combobox in una textbox li tratta come testo.
renarig
Profilo
| Expert
517
messaggi | Data Invio:
mar 12 mag 2015 - 07:19
>..... perchè quando inserisco valori numeri tramite una
>combobox in una textbox li tratta come testo.
Perché la combobox restituisce nativamente dei Variant
https://msdn.microsoft.com/en-us/library/office/ff192660.aspx?f=255&MSPPError=-2147217396
poi il "+" che sembrerebbe un concatenatore .....
e poi non so cos'altro dire :-((
.
Ms402
Profilo
| Newbie
21
messaggi | Data Invio:
mar 12 mag 2015 - 14:28
Ok grazie credo di aver capito (spero!). Grazie ancora per i consigli.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !