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

    [SQL] - query....

    salve,
    vorrei provare a realizzare un carrello....

    in un file access ho 3 tabelle
    Clienti
    Articoli
    Ordini

    nel sito entro in un'area riservata quindi ho il cod.cliente

    in una Form kiedo una parola x ricercare gli articoli (ad es: 'chiodo')


    Non riesco a fare questa una query con tutti gli articoli ke hanno nella descrizione kiodo e se il cliente ha gia' quel prodotto ordinato me ne proponga la quantità altrimenti 0.

    ??? :master:

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306
    Puoi utilizzare due query:
    La prima query, dati codice cliente e prodotto, restituisce la quantità ordinata da tale cliente di quel prodotto:
    codice:
    SELECT quantitaOrdinata
    FROM Ordini
    WHERE idcliente=[tuo codice cliente] AND idprodotto = [tuo codice prodotto]
    La seconda reperisce tutti gli articoli dalla descrizione (e quindi dovresti richiamare la prima per ciascuno dei record prodotti dalla seconda):
    codice:
    SELECT descrizione
    FROM Articoli
    WHERE descrizione LIKE '*' & [descrizione dell'utente] & '*'
    Poi, via codice, mandi in esecuzione le due query e controlli il risultato della prima per verificare se esiste un prodotto in ordine dal cliente. Se non esiste visualizzi uno 0 nella quantità, altrimenti la quantità ce l'hai dal risultato della query stessa.

    Ovviamente il codice lo dovrai gestire tramite VBA (se lavori unicamente in Access).
    Poi, non avendo alcuna informazione sulla struttura delle tabelle, i nomi dei campi li ho dovuti inventare.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Grazie Lele
    una domanda: e'l'unica soluzione o posso avere lo stesso risultato con una query (sottoquery, Union..... o cos'altro...)?


  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306
    Credo che lo stesso risultato tu lo possa ottenere anche con una sola query, ma sinceramente non saprei come fare, così su due piedi (non l'ho usato tantissimo Access).

    Quello che ti posso dire è che come sorgente per una query (clausola FROM) puoi anche utilizzare una query, così puoi selezionare i campi da estrarre con una query incrociando dati provenienti da tabelle e query. Lo stesso meccanismo utilizzato dall'SQL standard con le VIEW.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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