Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-01-2004, 12:11   #1
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
aiuto scrivere query access

ciao a tutti,
non riesco a scrivere una query che faccia quello che voglio..

ho una query GIACENZE con i seguenti campi:

cod_articolo|descrizione|quantità

____________________________________________________

una query IMPEGNATI con i seguenti campi:

cod_articolo|descrizione|quantità

____________________________________________________

una query DISPONIBILITAGIUSTA con i seguenti campi :
cod_articolo|descrizione|giacenze|impegnato |disponibile

SELECT impegnati.cod_articolo, impegnati.descrizione, IIf(IsNull([Giacenze.quantità]),0,[giacenze.quantità]) AS GIACENZE, IIf(IsNull([impegnati.quantità]),0,[impegnati.quantità]) AS IMPEGNATO, Sum(nz([giacenze.Quantità],0)-nz([impegnati.quantità],0)) AS DISPONIBILE
FROM giacenze RIGHT JOIN impegnati ON giacenze.cod_articolo = impegnati.cod_articolo
GROUP BY impegnati.cod_articolo, impegnati.descrizione, impegnati.Quantità, giacenze.Quantità;


____________________________________________________

una query RIORDINO con i seguenti campi :
cod_articolo|descrizione|giacenze|impegnato|disponibile|scorta_min|riordino

SELECT scorta_min.cod_articolo, scorta_min.descrizione, disponibilitagiusta.giacenze AS GIACENZE, disponibilitagiusta.IMPEGNATO, IIf(IsNull([disponibilitagiusta.disponibile]),0,[disponibilitagiusta.disponibile]) AS DISPONIBILE, scorta_min.scorta_min, nz([scorta_min]![scorta_min],0)-nz([disponibilitagiusta]![Disponibile],0)+1 AS Riordino
FROM disponibilitagiusta RIGHT JOIN scorta_min ON disponibilitagiusta.cod_articolo = scorta_min.cod_articolo
ORDER BY scorta_min.cod_articolo;


Il prob è con questa query (RIORDINO), in quanto si appoggia alla query DISPONIBILITAGIUSTA.
Quando imposto un articolo di cui voglio il riordino in automatico che e' presente nella query GIACENZE ma non nella query DISPONIBILITAGIUSTA il valore in giacenza di quest' articolo mi ritorna 0 anche se in GIACENZE il prodotto risulta presente.
Questo accade perche il prodotto non e' presente nella giacenza della query DIASPONIBILITAGIUSTA

spero che qualcuno mi possa aiutare...
ringrazio anticipatamente
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 13:02   #2
cisky
Member
 
L'Avatar di cisky
 
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
Se ho ben capito, il problema consiste (Come tu stesso dici) nel fatto che la query DISPONIBILITAGIUSTA non estrae dei prodotti perchè sono presenti in GIACENZA ma non in IMPEGNATO.

Per capirci meglio se x esempio hai una condizione di questo tipo:

* qryGiacenze*
Codice | Qt
C1 | 10
C2 | 20
C3 | 30

* qryImpegnato*
Codice | Qt
C1 | 4
C2 | 6

La query DISPONIBILITA' GIUSTA (con i dati di esempio) sarà di questo tipo:

* qryDisponibilità giusta *
Codice | Qt disponibile
C1 | 6
C2 | 14

o sbaglio qualcosa?

Non capisco (Se ci ho azzeccato) perchè non riporti nella query della disponibilità giusta anche i record dove non c'è la corrispondenza con il prodotto

e ciòè invece di fare un RIGHT JOIN da qryImpegnato a qryGiacenze

'...FROM giacenze RIGHT JOIN impegnati ON giacenze.cod_articolo = impegnati.cod_articolo... '

perchè non fai un LEFT JOIN
' ...FROM giacenze LEFT JOIN impegnati ON giacenze .cod_articolo = impegnati .cod_articolo..' ???

x ottenere una cosa simile:

* qryDisponibilità giusta *
Codice | Qt disponibile
C1 | 6
C2 | 14
C3 | 30

__________________
E' quasi tutto relativo!
cisky è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 13:49   #3
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
grazie per la tua disponibilità


Quote:
Non capisco (Se ci ho azzeccato) perchè non riporti nella query della disponibilità giusta anche i record dove non c'è la corrispondenza con il prodotto
ho provato come hai detto tu ma i record che non hanno corrispondenza mi vengono visualizzati senza cod_articolo e senza descrizione

potrei inviarti il db per farti capire meglio? e' di solo 126k
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 19:24   #4
cisky
Member
 
L'Avatar di cisky
 
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
Invia pure!

__________________
E' quasi tutto relativo!
cisky è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 19:37   #5
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
mi potresti dire la tua e-mail, oppure se preferisci parliamo in mirc
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 20:03   #6
cisky
Member
 
L'Avatar di cisky
 
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
Manda pure a '[email protected]' / tramite PVT /direttamente come allegato alla discussione.

Fai come preferisci.
__________________
E' quasi tutto relativo!
cisky è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2004, 20:12   #7
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
ciao ciscky77 hai dato un'occhiata al db?

attendo
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2004, 22:35   #8
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
se vuoi manda anche a me

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2004, 20:25   #9
cisky
Member
 
L'Avatar di cisky
 
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
Ti ho mandato una mail in risposta il 23/01 sera.
Credo che non ti sia arrivata (Forse ho sbagliato a inviarla.. strano!)

Te l'ho rispedita, se non ti arriva fammi sapere!

Ciao
__________________
E' quasi tutto relativo!
cisky è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2004, 07:57   #10
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
tnx cisky..
l' E-mail era arrivata.. il prob era mio

questa sera che ho un po di tempo la leggo con calma e ti faccio sapere

x fenomeno85:
per ora seguo i consigli di cisky.. tnx lo stesso
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2004, 19:12   #11
gbv
Member
 
Iscritto dal: Jul 2001
Messaggi: 88
ciao cisky
ho letto i tuoi consigli e hai proprio ragione.. (campi ripetuti nelle tabelle, campo testo che dovrebbe essere numerico)

ma purtroppo ho dovuto fare cosi perche il db lo interfaccio con vb.. e lo gestisco tutto con vb.

intercettazione errori , inserimento, interrogazione, ecc..

ho seguito il tuo consiglio delle union e' funziona.. ti ringrazio,

Ho un altra domanda da farti

se volessi aggiornare l'impegnato con lo scarico come potrei fare?

es.

impegnato

cod_articolo |descrizione |quantita |cliente| data

5050 | DDR 128Mb PC 2100 FULL BRAND| 5 | tizio|12/12/2003


scarico
cod_articolo |descrizione| n_serial | cliente |data

5050 | DDR 128Mb PC 2100 FULL BRAND| 3sd9rf| tizio|2212/2003
5050 | DDR 128Mb PC 2100 FULL BRAND| 2s89rf| tizio|2212/2003

impegnato 5 - scarico 2 = impegnato 3

grazie anticipatamente

Ultima modifica di gbv : 27-01-2004 alle 20:47.
gbv è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2004, 00:17   #12
cisky
Member
 
L'Avatar di cisky
 
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
PREMESSA:
Anche se probabilmente questa risposta sarà incomprensibile a molti utenti perchè solo io ho avuto la possibilità di
visionare il DB tramite messaggio privato, ho deciso di postare ugualmente nel caso in cui a qualcuno possa risultare
di aiuto (Non si sa mai)
----------------------------------------

RISPOSTA:
Se il tuo problema consiste nella creazione di una query che visualizzi la situazione aggiornata dei dati Impegnati - Scarico non c'è problema,
ti illustro come puoi fare.Se invece vuoi aggiornare direttamente i dati della tabella Impegnati allora la cosa è più complessa.
Dico che la cosa è più complessa perchè attualmente nella tabella Impegnati possono essere presenti più record per lo stesso
codice prodotto (con valori di Qt diversi) e quindi dovresti creare una procedura che vada ad eliminare i record in questa tabella (In modo che il totale delle Qt dei record rimanenti coincida con la differenza tra Impeganto e Scarico) e
credo proprio (Praticamente certo) che questa cosa non si possa fare direttamente in access(Ma devi farla via Codice VB) perchè il DB "a mio avviso" non è strato progettato in maniera "ottimale".

* Comunque se il tuo problema è creare una query, queste sono le operazioni da fare:

1) Siccome i record della tabella scarico possono essere molteplici per ogni codice prodotto, la prima cosa da fare è creare una query
che conteggi la somma dei record per codice articolo(In questo modo ottieni la quantità da scaricare).Chiamerò questa query 'qry_totScarico'

[qryTotScarico]
SELECT cod_articolo, COUNT(cod_articolo) AS QtScarico
FROM scarico
GROUP BY cod_articolo

2) Una volta che hai creato la query che visualizza i totali scaricati (x articolo), semplicemente crei una nuova query (che chiamerò 'qryQtAggiornate') utilizzando
la query 'qryTotScarico' e la query IMPEGNATI'.La query che "comanda" è quella degli impegnati, che sarà collegata con un LEFT JOIN a quella dello Scarico.
Con una semplice sottrazione calcoli quindi la QT impegnata dopo lo scarico.

[qryQtAggiornate]
SELECT Impegnati.cod_articolo, Impegnati.Quantità AS Qtimpegnato, qry_TotScarico.QtScarico, (Impegnati.Quantità-nz(qry_TotScarico.QtScarico,0)) AS QtAggiornata
FROM Impegnati LEFT JOIN qry_TotScarico ON Impegnati.cod_articolo = qry_TotScarico.cod_articolo;

* Se il tuo problema invece è aggiornare direttamente la tabella impegnato, fammi sapere, che proverò a darti una mano.

Ciao!
__________________
E' quasi tutto relativo!

Ultima modifica di cisky : 28-01-2004 alle 00:22.
cisky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Il riconoscimento facciale è un'a...
Un affare pazzesco, finché dura o...
Lava a 75°, è un 21.000Pa con...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v