Newsgroup: it.comp.appl.access
Titolo: Cercare con query su campo testo  dimensione campo più lungo di N caratteri

Ciao  a tutti   ,
 
dovrei cercare con una query tutti  i  campi di una  tabella 
che  hanno lunghezza più 100 caratteri , 
mi  potete  aiutare  ?  
 
grazie  anticipato  
 
Giuseppe 
 


Un compitino scolastico...?
Fossi mi oallievo avresti già preso zero...!
 
Intanto con una Query non si cercano CAMPI ma RECORDS i cui CAMPI soddisfano la condizione.
 
Nel Tuo caso per cercare la Lunghezza di un Campo si usa LEN(NomeCampo)...!
 
Ora se la ricerca è su tutti i campi... e conosci la Tabella, fossi in te mi limiterei ai campi TESTO... che dici...?
 
Ipotiziamo la Tabella abbia 3 Campi Testo(per semplificare).
 
SELECT * FROM T1
WHERE LEN(Campo1 & '')>100 OR 
      LEN(Campo2 & '')>100 OR 
      LEN(Campo3 & '')>100
 
Detto ciò... mi sembra una cosa che nella realtà non sia utile, quando mai capita di fare una cosa simile...?
 
 
@Alex


pomeriggio di cazzeggio quindi mi ci cimento pure io.
soluzione valida ma....
non so quanto corposa sia questa tabella, questa soluzione non è 
ottimale se esempio la tabella ha 50 campi di cui 1 con 101 caratteri e 
49 con 99 caratteri la query restituisce la riga ma capire quale è il 
campo che supera i 100 è una impresa.
Io farei una query simile la tua ma che mi metta a null i campi che non 
superano i 100 caratteri cosi mi balzerebbe all'occhio quelli che lo 
superano.
sfrutterei il "case when else end" di Tsql per sql server...credo ci sia 
l'equivalente in access.
Oppure sfrutterei l'union con
 
select campo1 from t1 where len(campo1)>100
union
select campo2 from t1 where len(campo2)>100
union
select campo3 from t1 where len(campo3)>100
 
per avere una unica lista dei valori >100
 
a che serva..mistero
 
BFS
 
 
 
 
 
 
 

Il giorno lunedì 28 dicembre 2015 19:41:08 UTC+1, 
amrri...@hotmail.com
 ha scritto:

Un po di  spocchietta ????
 
Non è  un  compitino  e non sono  suo  allievo .
Anzi  potrebbe essere lei mio  allievo  ma  naturalmente in altro "campo"
Ho  59 anni ed ho  costruito  per diletto ( ed ora  è  indispensabile )
una applicazione con Access 1  poi  via via  aggiornata fino ad access 2003
è un  database  molto  corposo con  cui  gestisco più  di 400.000 record 
e circa 23.000 foto collegate , è  un  catalogo  ricambi molto  complesso ma  fatto  da  chi  lo  utilizza e sa  cosa  cercare  è  davvero molto molto  utile .
Non sono  laureato ne diplomato e non so  assolutamente  programmare ma utilizzo le  cose che  mette  a disposizione access, poi  prendo  qua e la pezzi  di  codice  che  adatto  alle  mie  esigenze inoltre  ho molti  libri per utilizzare  al  meglio Access , però  non ho  intenzione di  imparere VB o altro  anche  se mi  piacerebbe ma  non ho  tempo e non è  il  mio  mestiere .
 
Ringrazio  per la  cortese attenzione avuta ma  non  capisco  proprio  questa  sua  frase :
 
" mi sembra una cosa che nella realtà non sia utile, quando mai capita di fare una cosa simile...? "
 
Sa  quando  capita ?
Capita quando si lavora .
In una  tabella Importata con 27000 record circa  ho  un  campo DESCRIZIONE
con appunto la  descrizione del  prodotto in cinque lingue su  unica  riga praticamente  la  lunghezza varia  dai 120 ai 220 caratteri , io  vorrei 
trovare  questi  record che  hanno  il  campo descrizione  così  lungo e  magari troncare la  descrizione a 30-40 caratteri ,da definire , so  che  l'inizio  campo è sempre in  lingua  italiana e  mi  basta .
 
Probabile  che  Lei  non risponderà , comunque  grazie  lo stesso 
e  auguri  di  buon anno  
 
Giuseppe


 
 
lo scenario è diverso da come descritto ad inizio post..dove pareva 
dovessi trovare tutti i valori di una tabella maggiori di 100 caratteri.
 
se ti basta solo trovare le righe con descrizione più lunga di 100 
caratteri basta un banale
  select * from tuaTabella where len(descrizione)>100
 
se vuoi troncarla a 40 caratteri:
 
select left(descrizione, 40), ...  from tuaTabella where 
len(descrizione)>100
 
 
ciao
BFS
 
 
 
 
 

Il giorno lunedì 28 dicembre 2015 19:41:08 UTC+1, 
amrri...@hotmail.com
 ha scritto:

Grazie  mille  
Davvero  gentile  
 
Giuseppe