Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 2 su 2

Query via VBA con campi SI/NO da....tradurre

  1. #1
    Jocman non è in linea Scolaretto
    Post
    384
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao a tutti.
    Da una tabella dove registro lo storico degli ordini effettuati (cioè conservo una serie di dati riepilogativi - nesusn dettaglio - di ordini evasi) vorrei visualizzare delle risultanze di ricerche mediante query.

    Via VBA costruisco la query in base a dei criteri, la parte inziale della query è:

    OrigineQuery01 = "SELECT Fornitore, Tipologia, IIf([Datachiusura] Is Null ,'ANNULL.',[DataChiusura]) AS Chiuso, Incaricato, Costo, Annullato FROM " & TabellaOrigine & " WHERE "
    
    La query che costruisco con tutte le varianti che necessito funziona bene, e visualizzo i dati in una casella di riepilogo nella maschera

    Il problema è quel campo Tipologia che seleziono.
    Durante la creazione di un ordine, in quel campo viene memorizzato un valore...generico (tipo Pippo, Pluto).Poi nel corso della creazione dell'ordine, bisogna scegliere una (una sola) categoria d'uso di 5 (ad esempio Pippo potrà avere una cat1 o cat3, etc)
    Questa scelta la memorizzo utilizzando dei campi Si/No nella tabella dell'ordine.

    Quando l'ordine viene chiuso, alcuni dati standard (tra cui questi campi Si/No) vengono inseriti nella tabella StoricoOrdini (TabellaOrigine).

    Con la query di cui sopra utilizzo il campo Tipologia (cioè Pippo, Pluto),ma in realtà mi farebbe molto più comodo visualizzare la categoria merceologica (non mi interessa sapere che sia Pippo o Pluto).

    C'è modo nella query di dirgli "se il campo Cat1 è vero allora visualizza CANE come Tipologia,se il campo Cat2 è vero allora visualizza GATTO come Tipologia, etc"?

    Ho provato con
    IIf ([Cat1]=-1,"CANE") as Tipologia
    
    e funziona. Il problema è che dovrei fare più istanze di queste istruzioni, ma sempre riferite al campo Tipologia, ma giustamente mi da errore perchè il campo Tipologia non può essere ripetuto X volte...

    Grazie
    Andrea

  2. #2
    L'avatar di Max.Riservo
    Max.Riservo non è in linea Scribacchino
    Post
    751
    Like Inviati  
    1
    Like Ricevuti  
    3
    Ovviamente non puoi avere lo stesso campo (come nome) ripetuto nella query.
    Se invece ti 'accontenti' di avere (come deve essere) un solo campo tipologia che assume i valori in funzione dei campi booleani puoi fare delle iif innestate :
    iif(cat1 = true, "ValoreCat1", iif(cat2 = true, "ValoreCat2", iif(cat3 = true, "ValoreCat3","Nessun valore")))
    
    ... True = -1 ...
    Nel caso, in un futuro remoto, dovessi migrare la base dati a SQL Server (o MySQL) sarebbe più saggio fare il test per <> 0 al posto di true (o -1).

    Quanto proposto è poco bello da vedersi : se solo (tu) avessi usato una tabella Categorie al posto di 5 campi booleani ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Tradurre visual basic.net in VBA
    Da roccolamann nel forum Microsoft Word
    Risposte: 8
    Ultimo Post: 02-04-2013, 13:37
  2. Tradurre visual basic.net in VBA
    Da roccolamann nel forum Visual Basic .Net
    Risposte: 8
    Ultimo Post: 02-04-2013, 13:37
  3. Tradurre query
    Da tetra nel forum PHP
    Risposte: 4
    Ultimo Post: 27-09-2006, 13:13
  4. Upgrade wizard per tradurre programma da vb6 a vb.net
    Da memole nel forum Visual Basic .Net
    Risposte: 5
    Ultimo Post: 06-12-2005, 11:37
  5. tradurre nomi mesi nella lingua impostaz
    Da ciliegia nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 07-03-2005, 12:57