Newsgroup: it.comp.appl.access
Titolo: Query di modifica

Ciao a tutti
Vorrei creare una query di modifica per aggiornare un campo di una tabella
che contiene dei valori all'interno di parentesi quadre: es. [05-0123].
Il mio scopo è mantenere il valore eliminando le parentesi quadre, ma non
riesco proprio a creare il criterio adatto.
Qualcuno mi potrebbe fare un'esempio?
Grazie
Pablo
--
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 --
Ciao Pablo
Nell'ipotesi che tutti i dati del campo in questione inizino e finiscano
con le p.quadre potresti creare nella query un campo calcolato:
Supponiamo che il campo contenente i dati da modificare si chiami [Desc] 
La formula potrebbe essere:
Risultato: Mid([desc];2;)
dove 2 significa "Inizio dal secondo carattere"
Len([Desc])-2 significa "Prendo un numero di caratteri pari a quelli
contenuti nel campo [Desc] - 2.
che ti restituirà il nuovo valore con cui sostituirai il vecchio
Crea la query come "Query di selezione" e provala;
Prima lanciarla come query di aggiornamento valuta se devi inserire
criteri 
per restringere il numero di records da modificare.
Ciao
Prometeo


 Prometeo
Scusa ma con copia e incolla mi sono mangiato un pezzo di formula:
Risultato: Mid([desc];2;Len([Desc])-2)


Ciao Prometeo,
credo che ti stia arrivando la mia mail, passando per Karl
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:  
www.donkarl.com/it

 credo che ti stia arrivando la mia mail, passando per Karl
Ciao MA
Benissimo, cosě ci vediamo ad Arezzo
grazie


 --
Usa Replace per sostituire "[" e "]" con "" in una Query
UPDATE.
UPDATE NomeTabella
SET NomeCampo=Replace ([NomeCampo];"[";"")
Poi fai l'altra per la parentesi chiusa.
Se invece sei certo della lunghezza:
UPDATE NomeTabella
SET NomeCampo=Mid$([NomeCampo],2,Len([NomeCampo])-1)
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 @Alex
Ciao Alex
Mi puoi dire la differenza tra mid e mid$ ?
Ho visto che ci sono molte funzioni col simbolo del dollaro che mi
ricordano
relativo e assoluto, ma sulla guida non ho trovato nulla.
Utilizzando  Mid in un campo calcolato ho il risultato corretto se
sottraggo 2 dal numero di caratteri come se cominciasse a contare
dall'inizio della stringa e non dal secondo carattere definito come inizio:
Mid([desc];2;Len([Desc])-2)
Grazie
Prometeo


 @Alex
Grazie infinite a tutti per l'attenzione.
Il campo ha una lunghezza fissa di 7 caratteri + le due parentesi quadre,
quindi ho utilizzato Mid e Len.
Funziona perfettamente.
Ciao


 --
Scusate ho dimenticato di dire che ho però dovuto modificare la fine
della stringa SET da -1) in -2), altrimenti la query cancellava solo
la prima parentesi e non l'ultima.


 Prometeo
MID tratta un dato VARIANT mentre Mid$ stringa, di conseguenza
nel caso specifico è più veloce.
Per la tua seconda osservazione non saprei cosa dire...


 @Alex
Ciao Alex e grazie
per la seconda osservazione mi sono spiegato male, l'esempio:
Mid([desc];2;Len([Desc])-2)
era specifico al problema di Pablo dove si parte dal secondo carattere e
si esclude l'ultimo.
Saluti


 Prometeo
Si hai perfettamente ragione, non avevo capito l'osservazione.
