Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da stellinaxxx Visualizza il messaggio
    Devo insistere!!!
    codice: select*fromNomeTabellawherereplace(campo,'.', '') like'%valore%'
    In questo modo se in un campo ho memorizzato una sigla tipo U.S.L. e voglio dare modo all'utente pigro di cercarla mettendo nella textbox USL, con questa funzione la troverà lo stesso.
    E ripeto: FUNZIONA!!! Sul PC dove è installato Office 2010 FUNZIONA, mentre sull'altro no, dicendo che non riconosce la funzione REPLACE.
    Puoi insistere fin che vuoi.
    E' completamente sbagliata, e la tua spiegazione ne è la prova, senza ombra di dubbio.
    Comunque ritengo inutile continuare questa discussione.

  2. #2
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Puoi insistere fin che vuoi.
    E' completamente sbagliata, e la tua spiegazione ne è la prova, senza ombra di dubbio.
    Comunque ritengo inutile continuare questa discussione.
    Come detto da oregon, temo ci sia un misunderstanding... non ho riferimenti sul dialetto SQL di Access, ma una funzione del genere esiste ad esempio in SQLite, e quel codice sarebbe assolutamente corretto. Per ogni record, il DBMS prende il contenuto del campo campo ed elimina tutti i punti prima di confrontarlo con la clausola like. Ovvero, ovviamente non opera sul nome del campo, ma sul suo contenuto (come qualunque funzione che si possa richiamare in SQL).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da stellinaxxx Visualizza il messaggio
    Devo insistere!!!
    codice: select*fromNomeTabellawherereplace(campo,'.', '') like'%valore%'
    In questo modo se in un campo ho memorizzato una sigla tipo U.S.L. e voglio dare modo all'utente pigro di cercarla mettendo nella textbox USL, con questa funzione la troverà lo stesso.
    E ripeto: FUNZIONA!!! Sul PC dove è installato Office 2010 FUNZIONA, mentre sull'altro no, dicendo che non riconosce la funzione REPLACE.
    Ebbene, devo confessare di aver 'cannato di brutto'.

    Il mio problema era dovuto al fatto che ero partito da un assunto 'diverso', e ciò mi aveva messo un bel 'bisteccone sugli occhi' impedendomi di vedere invece come stellinaxxx intendeva utilizzare la funzione.
    Ancora una volta 'mi sono dimostrato' che prima di parlare bisogna verificare quello che si afferma con un test pratico; ma quello che mi fa imbestialire di più è che lo so, ma ogni tanto ci casco come un pivello.
    Ben mi sta, anche se, ad onor del vero, in questo caso non avrei potuto fare test semplicemente perchè Replace non funziona sul mio Office 2010 (appena testato).

    Quindi chiedo scusa a tutti, in primis a stellinaxxx, per il fraintendimento e mi rammarico di avere fatto 'sta figuraccia.


    Tornando in topic:
    purtroppo non sembra esistere soluzione al problema di: Funzione non definita...

    Di norma non uso funzioni Access nelle query, l'unica che ho usato in passato fu Round in una procedura di aggiornamento listini che ha funzionato fino a che nel pc avevo Office 2007.
    Dal momento in cui ho installato Office 2010 non funzionava più, quindi ho dovuto mettere mano al codice.

    Non dipende dalla versione del database usato, ma dal motore della versione di Access presente nel computer, il che significa che se il cliente decide di aggiornare da Office 2003 ad Office 2010 si troverà questa 'bella' sorpresa, e ovviamente la prima cosa che farà è contattare noi, accusandoci con un: Non funziona più!

    La causa è dovuto al fatto che Microsoft ha reso Private alcune funzioni che prima erano Public, di fatto rendendole accessibili solamente dall'interno dell'ambiente MSAccess.
    Dall'esterno: ci si attacca al tram.
    Insomma, i soliti graditi regali di Microsoft, alla faccia della compatibilità.


    Questo promette di risolvere il problema:
    Use sandbox mode in Access 2007 - Access - Office.com
    http://office.microsoft.com/en-us/ac...010167429.aspx


    Ma, a parte il fatto che non risolve nulla (appena testato) è comunque troppo invasivo perchè richiede la modifica al Registro di Windows, il che non è detto che sia sempre applicabile.
    Per chi, come me, distribuisce programmi ai propri clienti non è detto che i permessi dell'utente consentano tale modifica al Registro, con il rischio di dover provvedere 'a mano' su ogni computer di ogni cliente.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da gibra Visualizza il messaggio
    Ebbene, devo confessare di aver 'cannato di brutto'.
    Lo avevamo capito ... ... ma può capitare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    codice:
    select * from NomeTabella where replace(campo,'.', '') like'%valore%'

  6. #6
    E bravo Oregon, tu hai capito.

  7. #7
    A dire la verità io non cercavo aiuto circa il motivo per cui non funziona, perchè, come ho già detto, facendo delle ricerche, l'ho capito, vale a dire: è una funzione che vb net prende da access e quindi è legata alla versione di Access installata sul PC.
    Io volevo sapere se c'è un'altro modo per raggiungere il medesimo risultato(non troppo arzigogolato, tipo scorrere tutti i record della tabella e ogni volta vedere se soddisfa la ricerca con e senza punti, cancellando dal dataset quelli che non la soddisfano e poi filtrare con un dataview solo i record non cancellati)

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Forse c'è un equivoco ... i punti non sono nel nome dei campi ma nei dati contenuti nei campi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Caro gibra, tutti qui hanno capito che sei tu che hai torto, leggiti i vari post di Oregon, MlItaly e Optime. Non c'è niente di male a dire che non conosci quella funzione.

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da stellinaxxx Visualizza il messaggio
    Caro gibra, tutti qui hanno capito che sei tu che hai torto, leggiti i vari post di Oregon, MlItaly e Optime. Non c'è niente di male a dire che non conosci quella funzione.
    No comment.

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.