Ricerca dato da casella di riepilogo

di il
2 risposte

Ricerca dato da casella di riepilogo

Buongiorno a tutti,
ho un problema di errore di sintassi che non so come risolvere.
In una maschera ho creato una casella di riepilogo che prende i dati da questa selezione
SELECT Nome_Conto.IDNomeConto, Nome_Conto.nomeDescrizione, Nome_Conto.tipologia, IIf([Nome_Conto]![tipologia]="cliente","attivo","passivo") AS SP FROM Nome_Conto WHERE (((Nome_Conto.tipologia)="cliente")) ORDER BY Nome_Conto.nomeDescrizione;
dove "Nome conto" è la tabella, i cui campi sono "IDNomeConto", "nomeDescrizione" "tipologia", ordinati in base a nome con il filtro attivo di "cliente".
Ho quindi creato una casella di testo che mi serve per poter inserire anche solo alcune lettere per far in modo che, nella casella di riepilogo, mi appaiano solo i nominativi che corrispondono al criterio inserito.
In questa casella di testo ho creato, sull'evento modifica, un codice in cui, tra le varie istruzioni, ho indicata questa:
beta = "SELECT Nome_Conto.IDNomeConto, Nome_Conto.nomeDescrizione, Nome_Conto.tipologia, IIf([Nome_Conto]![tipologia]="cliente","attivo","passivo") AS SP FROM Nome_Conto WHERE (((Nome_Conto.tipologia)="cliente")) ORDER BY Nome_Conto.nomeDescrizione and where (nomeDescrizione like " & Chr$(34) & "*" & alfa & "*" & Chr$(34) & ");"
Ma, nel momento in cui vado ad inserire anche una sola lettera, mi appare il messaggio "errore di sintassi".
Sapete dirmi qual è la giusta sintassi da inserire?
Grazie
Giorgio

2 Risposte

  • Re: Ricerca dato da casella di riepilogo

    Ti sei inventato la sintassi di sana pianta direi...!
    
    SELECT NomeCampo1,NomeCampo2[,NomeCampoN]
    FROM NomeTabella
    WHERE [Criterio1] AND[/OR Criterio2 AND/OR Criterio3] 
    ORDER BY NomeCampo1[,NomeCampoN]
    Come vedi nel tuo predicato hai inserito il CRITERIO2 in un posto non compatibile...
    Oltretutto essendo criterio scritto in SQL io non userei CHR(34) ...
    
    "SELECT Nome_Conto.IDNomeConto, 
               Nome_Conto.nomeDescrizione, 
               Nome_Conto.tipologia, 
               IIf([Nome_Conto]![tipologia]="cliente","attivo","passivo") AS SP 
    FROM Nome_Conto 
    WHERE Nome_Conto.tipologia='cliente' and where nomeDescrizione like '*" & alfa & "*' 
    ORDER BY Nome_Conto.nomeDescrizione"
    Il tutto forse da inserire nell'evento CHANGE...
  • Re: Ricerca dato da casella di riepilogo

    @Alex ha scritto:


    Ti sei inventato la sintassi di sana pianta direi...!
    In effetti, da neofita, pensavo che la sintassi giusta fosse quella e, al messaggio di errore, non sapevo come correggerla
    
    SELECT NomeCampo1,NomeCampo2[,NomeCampoN]
    FROM NomeTabella
    WHERE [Criterio1] AND[/OR Criterio2 AND/OR Criterio3] 
    ORDER BY NomeCampo1[,NomeCampoN]
    Come vedi nel tuo predicato hai inserito il CRITERIO2 in un posto non compatibile...
    Oltretutto essendo criterio scritto in SQL io non userei CHR(34) ...
    
    "SELECT Nome_Conto.IDNomeConto, 
               Nome_Conto.nomeDescrizione, 
               Nome_Conto.tipologia, 
               IIf([Nome_Conto]![tipologia]="cliente","attivo","passivo") AS SP 
    FROM Nome_Conto 
    WHERE Nome_Conto.tipologia='cliente' and where nomeDescrizione like '*" & alfa & "*' 
    ORDER BY Nome_Conto.nomeDescrizione"
    Il tutto forse da inserire nell'evento CHANGE...
    Ho riscritto il tutto come mi hai detto e funziona,
    tante, tante grazie
    Giorgio
Devi accedere o registrarti per scrivere nel forum
2 risposte