Se condizione soddisfatta..

mercoledì 16 ottobre 2013 - 14.10
Tag Elenco Tags  Access (.mdb)

sergranero Profilo | Junior Member

Ciao, avrei l'esigenza di eseguire un comando se viene soddisfatta o una condizione o un'altra.
Le condizioni che dovrebbero essere soddisfatte sono le seguenti:
1) se un numero inserito in un campo testo e visualizzato in una combobox di una maschera è < di 600....
2) se entrambi i numeri separati da un "-" e inseriti in un campo testo e visualizzati in una combobox di una maschera sono < di 600.... ( ad es. 580-590 oppure 450-480 etc etc ) Tenete conto che rappresentando un intervallo, il numero di destra sarà sempre > di quello di sinistra

Grazie
Ciao

CorriCorrado Profilo | Junior Member

Ciao,
per favore riformula perchè non capisco.

Grazie
Corrado

sergranero Profilo | Junior Member

Perdona la confusione
Io avrei bisogno che apparisse un MSGbox nel caso in cui il dato contenuto in una textbox di una maschera sia < di 600
Avrei anche bisogno che apparisse un altro MSGbox nel caso in cui i dati contenuti in una textbox di una maschera siano divisi da un "-" ( ad es. 450-480 ) e il numero più grande dell'intervallo sia < di 600

Es. 450-480 msgbox
650-700 nessun msgbox

Grazie

CorriCorrado Profilo | Junior Member

ciao,
quindi tu hai 2 textbox differenti in cui gli utenti andranno ad inserire i dati?

Nel primo caso direi che la cosa è semplice:
if me.txt1<600 then msgbox "Il volore è minore di 600"

Nel secondo caso, invece devi giocare con la divisione della stringa, o con i caratteri jolly.

Ma non sono sicuro di aver compreso bene.

Ciao
Corrado

sergranero Profilo | Junior Member

Grazie per la soluzione al primo problema...

Per il secondo problema m'è venuto in mente una soluzione

If Right(Me.[QtaGas], 3) < 600 then
msgbox ........
end if

Grazie!!!
Ciao

CorriCorrado Profilo | Junior Member

Ciao,
puoi anche giocare con le instr, che ritorna la posizione del carattere:

InStr([start, ]string1, string2[, compare])

Quindi:
instr("360-650","-")
restituisce 4.
Questo ti permette di associarlo alla right, perchè così come la hai scritta, se qualcuno inserisce 1000, la right estrae 100 e il calcolo sarà sbagliato.

Spero ti sia di aiuto.
Ciao
Corrado

sergranero Profilo | Junior Member

Ciao, scusa se ti rispondo solo ora ma ho voluto provare col mio metodo ( non sapendo mettere in pratica il tuo suggerimento ) ed in effetti mi da parecchi calcoli errati. Mi potresti scrivere un esempio che poi provo ad adattarlo?
Grazie
Ciao

CorriCorrado Profilo | Junior Member

Ciao,
questa è la tua:
If Right(Me.[QtaGas], 3) < 600 then msgbox "testo"
Supponendo che tu abbia in me.QtaGas intervalli di valori sempre indicati con il catrattere "-", la devi correggere in questo modo:

if Right(Me.[QtaGas], instr(Me.[QtaGas],"-")) <600 then msgbox "testo"

In questo modo non ancori l'estrazione della right ad un numero di digit fisso, ma lo calcoli in modo variabile.
Se ti dovesse capitare che viene inserito un valore ampio,tipo: 1.098.000 - 3.010.000.000, il sistema andarà comunque ad estrarre il numero.

Ciao

Corrado

sergranero Profilo | Junior Member

Ottimo!!!!!!! Grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5