Newsgroup: it.comp.appl.access
Titolo: Testare la presenza di un determinato carattere.

Ho un campo testo dove sono stati inseriti alcuni codici contenenti un
punto, altri no.
A questo punto devo fare una query che testanto il campo mi dia come
risultato:
- se non esiste un carattere punto nella stringa, ritorna stringa '0'
- altrimenti ritorna il valore troncando tutti i caratteri dal punto in poi
- se il risultato di quest'ultima operazione dovessere essere NULL
  sostituisce con la stringa '0'
In caso va bene anche codice vba
Grazie infinitamente
Old-Jack.

 ha scritto nel messaggio
news:%z%a9.114104$n04.2...@twister2.libero.it...

Ho bisogno di farti una domanda per chiarire.
Parli di una query che si appoggia ad una tabella e che mostrerà tutti i
record (sia pure modificati nella visualizzazione), o di una query che
valuta il contenuto di un controllo su di una maschera e restituisce i
valori espressi nei criteri?
Cioè cosa ti aspetti? A che scopo?
Ciao, Carlo

 wrote in message
news:h30b9.20248$ub2.3...@news1.tin.it...

Devo fare una query su una tabella che mi estrae alcuni campi con alcuni
criteri...
uno di questi criteri è quello che il campo incriminato sia confrontato con
un'altro campo
ma purtroppo non tutto il campo, ma come dicevo prima...
Grazie per il tuo interessamento.
Old-Jack.

> "Old-Jack" [...]:

    Sia s il nome del campo testo:
    IIf(InStr("" & s, ".") > 0, Left$("" & s, InStr("" & s & ".", ".") - 1),
"0")
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 ha scritto nel messaggio
news:Wg0b9.112826$lu5.2...@twister1.libero.it...

Scusa la confusione, Old-Jack, ma non riesco a capire.
Ora c'è un confronto tra campi?
Puoi fare un esempio? Capire per me è essenziale.
Ciao, Carlo

 Puoi fare un esempio? Capire per me č essenziale.
Ci provo,
Ho una tabella (tabella1) composta da campo1 e campo2 (il campo2 e di tipo
testo 14)
ho un'altra tabella (tabella2) composta solamanta da un campo3.
In Campo2 ci puň essere un codice composto da vari caratteri separati da un
punto.
A questo punto io devo fare una query che tira fuori dalla tabella1 il
campo1, ma solo quelli che hanno il campo2 uguale al campo3 della tabella2.
ovvero:
Se nel campo2 non ci sono punti devo testare lo zero, altrimenti il valore
del campo sino al punto, se questo valore č nullo (in certi casě lo č) deve
darmi zero.
Spero di essere stato chiaro.
Grazie
Old-Jack.

 wrote in message
news:aki3ik$1g9mkc$1...@ID-52090.news.dfncis.de...

Ora provo questa funzione, ti farň sapere grazie.
Ciao
Old-Jack

> >     IIf(InStr("" & s, ".") > 0, Left$("" & s, InStr("" & s & ".", ".") -
"" & s -> esiste la funzione nz(s) ritorna "" se s e' NULL.


Bene. La prima query sarà del tipo:
SELECT Tabella1.Campo1
FROM Tabella1 INNER JOIN Tabella2 ON Tabella1.Campo2 = Tabella2.Campo3;
Per la seconda query puoi nidificare degli iif così:
SELECT Tabella1.Campo1,
IIf(InStr(1,[campo2],".")>0,Mid$([campo2],1,InStr(1,[campo2],".")-1),IIf(InS
tr(1,[campo2],"0")>0,[campo2],"0")) AS pippo
FROM Tabella1;
Se nel campo2 avevi
2.3456.56
2345098
.4563
restituisce
2
2345098
Ti ricordo che se scrivi nella query devi usare i punti e virgola.
Comunque il criterio può essere una buona base di  partenza.
Ciao, Carlo

 "" & s -> esiste la funzione nz(s) ritorna "" se s e' NULL.
    Giusto, e ti ringrazio dell'osservazione. Ma perche' far andare Access a
caccia di una funzione (3 volte per record) quando "" & s *dovrebbe* essere
piu' veloce? (Non ho eseguito test, pero'.)
