Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    MS Access 2003 - Problema parentesi con query

    Ciao a tutti, eccomi nuovamente quì a cercare di risolvere un problema che nel mio post precedente pensavo di avere risolto, ma a seguito di una accurata analisi ho riscontrato invece delle perdite di dati.
    Credo ci sia quasi sicuramente un errore a livello di parentesi, ma se così non fosse, vi prego di aiutarmi a trovare l'errore. vi spiego nel dettaglio cosa deve fare la query in questione:
    1) Ho un form per la stampa delle etichette, in cui inserisco 3 parametri e più precisamente:
    A - "Codice Tipo Cliente" = In tabella "Clienti.TiCli"; nel form "TiCliNOM"
    B - "Dal Nome" = Clienti.Denominazione; nel form "NomeInizioNOM"
    C - "Al Nome" = Clienti.Denominazione; nel form "NomeFineNOM"

    2) Con questi 3 parametri, devo anche controllare i seguenti valori:
    A - Che il "Flag Spedizione" = Clienti.Spedizione sia impostato a "Sì" (-1)
    B - Che il "Flag Stampato" = Clienti.Flag_PRN_NOM sia = "No" (0)

    Inizialmente, ho usato la clausola "Between" che funziona benissimo a livello di date, ma non a livello di testo, in quanto se stampo dalla lettera A alla lettera Z, perdo tutti i nominativi con la Z. Ho quindi utilizzato la clausola Like, nel modo riportato di seguito:

    SELECT Clienti.*
    FROM Clienti
    WHERE (((Clienti.Codice_TiCli) Is Not Null And (Clienti.Codice_TiCli)=Forms![Etichette Clienti]!TiCliNOM) And (((Clienti.Denominazione) Like Forms![Etichette Clienti]!NomeInizioNOM & "*") Or ((Clienti.Denominazione) Like Forms![Etichette Clienti]!NomeFineNOM & "*")) And (Clienti.Spedizione=-1) And (Clienti.Flag_PRN_NOM=0))
    ORDER BY Clienti.Denominazione;

    Credo di avere spiegato nel migliore dei modi il mio problema, ma se così non fosse chiedetemi pure spiegazioni in merito.
    Grazie

    Fabio
    Un desiderio si insegue. Una passione si vive!!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi sembra che ti sia già stata data risposta nell'altro thread.

    http://forum.html.it/forum/showthrea...readid=1372375

  3. #3
    Sì. in effetti ho precisato il fatto di perdere alcuni dati, come da voi constatato nel thread precedente.
    La clausola "Between", come da voi suggerita, la utilizzo il momento in cui devo estrarre dei dati che abbiano dei valori certi, altrimenti non ho la possibilità di inserirli da un form con quella sintassi, o per lo meno, non conosco bene la sintassi dell'istruzione.
    Ti allego il tuo esempio e la query da me modificata, così mi puoi dire dove è che è sbagliato.

    select * from tabella where nome like "[a-c]*" order by nome

    SELECT *
    FROM Clienti
    WHERE Clienti.Spedizione=-1 And Clienti.Flag_PRN_NOM=0 And Clienti.Denominazione Like "[Forms!(Anteprima Nominativi)!NomeInizioNOM-Forms!(Anteprima Nominativi)!NomeFineNOM]*"
    ORDER BY Clienti.Denominazione;

    Fabio
    Un desiderio si insegue. Una passione si vive!!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    strsql = "select * from tabella where nome like ""[" & Forms![Anteprima Nominativi]!NomeInizioNOM & "-" & Forms![Anteprima Nominativi]!NomeFineNOM & "]*"""

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 © 2025 vBulletin Solutions, Inc. All rights reserved.