Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 39
  1. #11

  2. #12
    Con IIF mi sputa un:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression '( IIF (INSTR(description,words)>0, 5, 0) + IIF (INSTR(title,words)>0, 5, 0) + IIF (INSTR(keywords,words)>0, 5, 0) IIF (INSTR(description,words)>0, 5, 0) + IIF (INSTR(title,words)>0, 5, 0) + IIF (INSTR(keywords,words)>0, 5, 0) IIF (INSTR(description,wor'.

    /gettsearch.asp, line 90

    alla 90:
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, cn

    :master:
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  3. #13
    fatti stampare la query a video e posta quella

    edit: così ad occhio e croce secondo me hai fatto l'en plein di parole riservate
    xxx

  4. #14
    Lo stavo facendo nel frattempo

    così come postato il codice il primo ciclo non veniva valorizzato
    sql = sql &" IIF (INSTR(description,words)>0, 5, 0) + "
    allora ho modificato così:
    sql = sql &" IIF (INSTR(description,'" & words & "')>0, 5, 0) + "
    e il response é:
    select ( IIF (INSTR(description,'pippo')>0, 5, 0) + IIF (INSTR(title,'pippo')>0, 5, 0) + IIF (INSTR(keywords,'pippo')>0, 5, 0) IIF (INSTR(description,'gioca')>0, 5, 0) + IIF (INSTR(title,'gioca')>0, 5, 0) + IIF (INSTR(keywords,'gioca')>0, 5, 0) IIF (INSTR(description,'tanto')>0, 5, 0) + IIF (INSTR(title,'tanto')>0, 5, 0) + IIF (INSTR(keywords,'tanto')>0, 5, 0) ) AS Rilevance from data where description = 'pippo gioca tanto' OR testopag = 'pippo gioca tanto' OR description like '%pippo%' or keywords like '%pippo%' or title like '%pippo%' or url like '%pippo%' or testopag like '%pippo%' OR description like '%gioca%' or keywords like '%gioca%' or title like '%gioca%' or url like '%gioca%' or testopag like '%gioca%' OR description like '%tanto%' or keywords like '%tanto%' or title like '%tanto%' or url like '%tanto%' or testopag like '%tanto%' ORDER by Rilevance DESC



    ...è en plein?
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  5. #15
    :master:
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  6. #16
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    Se non sbaglio Mysql ha la funzione Match per fare queste cose, ma richiede uan tabella MyISam , credo che con access sia meglio preparare uan funzione con regular expression che conta le parole usando un record disconnesso per paginare...

    quindi
    1] prima si ottiene il record da normale recordset..

    2 ] si elabora con la funzione (conta parole) e si ottiene un valore numerico

    3 ] si aggiunge al record disconnesso...

    4] si pagina..

  7. #17
    un aiutino più concreto???
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  8. #18
    Originariamente inviato da puffetto
    Lo stavo facendo nel frattempo

    così come postato il codice il primo ciclo non veniva valorizzato


    allora ho modificato così:


    e il response é:
    select ( IIF (INSTR(description,'pippo')>0, 5, 0) + IIF (INSTR(title,'pippo')>0, 5, 0) + IIF (INSTR(keywords,'pippo')>0, 5, 0) IIF (INSTR(description,'gioca')>0, 5, 0) + IIF (INSTR(title,'gioca')>0, 5, 0) + IIF (INSTR(keywords,'gioca')>0, 5, 0) IIF (INSTR(description,'tanto')>0, 5, 0) + IIF (INSTR(title,'tanto')>0, 5, 0) + IIF (INSTR(keywords,'tanto')>0, 5, 0) ) AS Rilevance from data where description = 'pippo gioca tanto' OR testopag = 'pippo gioca tanto' OR description like '%pippo%' or keywords like '%pippo%' or title like '%pippo%' or url like '%pippo%' or testopag like '%pippo%' OR description like '%gioca%' or keywords like '%gioca%' or title like '%gioca%' or url like '%gioca%' or testopag like '%gioca%' OR description like '%tanto%' or keywords like '%tanto%' or title like '%tanto%' or url like '%tanto%' or testopag like '%tanto%' ORDER by Rilevance DESC



    ...è en plein?
    codice:
    select 
    ( 
    IIF (INSTR(description,'pippo')>0, 5, 0) + 
    IIF (INSTR(title,'pippo')>0, 5, 0) + 
    IIF (INSTR(keywords,'pippo')>0, 5, 0) 
    IIF (INSTR(description,'gioca')>0, 5, 0) + 
    IIF (INSTR(title,'gioca')>0, 5, 0) + 
    IIF (INSTR(keywords,'gioca')>0, 5, 0) 
    IIF (INSTR(description,'tanto')>0, 5, 0) + 
    IIF (INSTR(title,'tanto')>0, 5, 0) + 
    IIF (INSTR(keywords,'tanto')>0, 5, 0) 
    ) AS Rilevance 
    from data 
    where 
    description = 'pippo gioca tanto' OR 
    testopag = 'pippo gioca tanto' OR 
    description like '%pippo%' or 
    keywords like '%pippo%' or 
    title like '%pippo%' or 
    url like '%pippo%' or 
    testopag like '%pippo%' OR 
    description like '%gioca%' or 
    keywords like '%gioca%' or 
    title like '%gioca%' or 
    url like '%gioca%' or 
    testopag like '%gioca%' OR 
    description like '%tanto%' or 
    keywords like '%tanto%' or 
    title like '%tanto%' or 
    url like '%tanto%' or 
    testopag like '%tanto%' 
    ORDER by Rilevance DESC
    Questa è la tua query semplicemente riscritta in un modo "più umano", dacci un'occhiata e vedrai cosa manca.
    Inoltre:
    - quando parlavo di "en plein" di parole riservate mi riferivo al fatto che come nomi campi e tabelle hai usato delle parole che in access sono considerate "riservate". questo significa che per utilizzarle come nomi di campo (se proprio non ne puoi fare a meno..) devi racchiuderle tra parentesi quadre (vedi nel tuo caso ex. data, non sono sicuro su title, keywords, description, url ma non ci starei tranquillo).
    - Nell'order by dell'esempio che ti ho fatto sopra io ho messo apposta order by 1 (primo campo) perché non puoi usare un alias nella clausola order by.
    - queste due righe:

    description = 'pippo gioca tanto' OR
    testopag = 'pippo gioca tanto' OR

    nella query non ti servono a nulla viste le altre clausole che hai messo.

    xxx

  9. #19
    L'unica cosa che sono riuscito a trovare e che nel ciclo dell'IIF non ho inserito tutti i campi .
    ho ordinato come indicato da te by 1

    ho fatto alcune prove ma il risultato sempre -
    ora il responso è:

    se inserisco solo una parola come elemento di ricerca es: pippo:
    select
    (
    IFF (INSTR(description,'pippo')>0, 5, 0) +
    IFF (INSTR(keywords,'pippo')>0, 5, 0) +
    IFF (INSTR(title,'pippo')>0, 5, 0) +
    IFF (INSTR(url,'pippo')>0, 5, 0) +
    IFF (INSTR(testopag,'pippo')>0, 5, 0)
    ) AS Rilevance
    from data
    where description = 'pippo' OR
    description like '%pippo%' or
    keywords like '%pippo%' or
    title like '%pippo%' or
    url like '%pippo%' or
    testopag like '%pippo%'
    ORDER by 1 DESC
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Undefined function 'IFF' in expression.

    /search_prova.asp, line 37

    alla 37:
    rs.Open sql, cn

    se invece i termini sono più di uno es: "viva pippo"
    il responso è:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '( IFF (INSTR(description,'viva')>0, 5, 0) + IFF (INSTR(keywords,'viva')>0, 5, 0) + IFF (INSTR(title,'viva')>0, 5, 0) + IFF (INSTR(url,'viva')>0, 5, 0) + IFF (INSTR(testopag,'viva')>0, 5, 0) IFF (INSTR(description,'pippo')>0, 5, 0) + IFF (INSTR(keywords'.

    /search_prova.asp, line 37


    che fare?
    www.telefoninook.com
    contenuti e risorse gratis per il tuo cellulare

  10. #20
    Originariamente inviato da puffetto
    ..
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Undefined function 'IFF' in expression.

    ...
    che fare?
    Azz, e quest'errore non ti suggerisce proprio niente?? un piccolo sforzo potresti anche farlo
    xxx

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.