Newsgroup: it.comp.appl.access
Titolo: Aggiornare automaticamente dati identici tra Query "A" e Query "B"

Ciao a tutti ho questa esigenza.Ho due query Query "A" e Query
"B".Nella prima query vado ad inserire degli articoli con un certo
prezzo e con una certa data,i quali daranno origine alla mia distinta
base.Mentre nella seconda query vado ad inserire tutti gli articoli
acquistati.Supponiamo pero' di inserire in distinta base (query A)
l'articolo "rosso" ad € 2,00 in data 24/10/10.Lo stesso articolo viene
acquistato due giorni dopo ad un prezzo inferiore ed inserito nella
query B. "rosso" ad € 1,00 in data 26/10/10.A questo punto avrei
necessita' che in distinta base (query A) lo stesso articolo si
aggiornasse all'ultima data di acquisto.Cioe' andando ad aprire la
query A io dovrei trovare :"rosso" ad € 1,00 in data 26/10/10 e non
rosso" ad € 2,00 in data 24/10/10.
come posso fare????
Grazie in anticipo
Dino

 ha scritto nel messaggio 
news:257d6358-82f4-418f...@30g2000yqm.googlegroups.com...

Grazie in anticipo
Dino
Normalmente nei programmi di magazzino si usa una tabella di articoli con 
varia anagrafica compresi i prezzi attuali di vendita o acquisto.
se ad ogni transizione li aggiorni, poi col campo chiave dell'articolo 
peschi il dato che ti serve aggiornato
Antonio

 ha scritto nel messaggionews:257d6358-82f4-418f...@30g2000yqm.googlegroups.com...

Ciao Antonio e grazie per la risp.
E' infatti così.Nel mio DB se io ho ins nella tab articoli l'articolo
"Rosso" comprato dal fornitore "Verde" il 20/10/10 ad € 2,00 e poi
vado ha modificarlo,questa modifica me la trovo ancge in distinta base
(ovviamente se l'articolo e' inserito in distinta).
Il mio problema e' questo: Se lo stesso articolo lo compro il 22/10/10
dal fornitore "gialli",nella distinta base io dovrei trovare in
automatico la sostituzione dell'articolo(così vuole il mio
cliente).Cioe' "Rosso" comprato dal fornitore "gialli" il 20/10/10 ad
€ 2,00.Come posso fare????'
Il form distinta base e' costiuito da un sottoform che si appoggia su
di una query che come nase dati ha la tab articoli(ecco perche' le
modifiche all'art. gia' inserito si vedono)
Grazie in anticipo
Dino

 - Mostra testo citato -
sono sempre io.Un' idea potrebbe essere quella dell'altro mio post.
sull' errore 3075???Prova a darle un'occhiata
Dino

 Antonio
Ciao Antonio e grazie per la risp.
E' infatti cos�.Nel mio DB se io ho ins nella tab articoli l'articolo
"Rosso" comprato dal fornitore "Verde" il 20/10/10 ad � 2,00 e poi
vado ha modificarlo,questa modifica me la trovo ancge in distinta base
(ovviamente se l'articolo e' inserito in distinta).
Il mio problema e' questo: Se lo stesso articolo lo compro il 22/10/10
dal fornitore "gialli",nella distinta base io dovrei trovare in
automatico la sostituzione dell'articolo(cos� vuole il mio
cliente).Cioe' "Rosso" comprato dal fornitore "gialli" il 20/10/10 ad
� 2,00.Come posso fare????'
Il form distinta base e' costiuito da un sottoform che si appoggia su
di una query che come nase dati ha la tab articoli(ecco perche' le
modifiche all'art. gia' inserito si vedono)
A parte esprimere il mio biasimo sulla gestione magazzino fatta in questo 
modo, non vedo dove sia il problema. Nella tabella articoli metti anche il 
fornitore oltre al prezzo e quando carico la'cquisto aggiorni la tabella 
articoli con i nuovi dati
Antonio 

 - Mostra testo citato -
Grazie Antonio per la risp.non capisco il tuo "disappunto" sulla
gestione in essere.Io in distinta base ho sempre i dati aggiornati in
automatico per i prodotti da creare exnovo.Il problema e' sui prodotti
in distinta gia' esistenti.Se l'aggiornamento riguarda lo stesso
fornitore non ci sono problemi.Mentre con un altro fornitore questo
non avviene.
Dino

 - Mostra testo citato -
Grazie Antonio per la risp.non capisco il tuo "disappunto" sulla
gestione in essere.Io in distinta base ho sempre i dati aggiornati in
automatico per i prodotti da creare exnovo.Il problema e' sui prodotti
in distinta gia' esistenti.Se l'aggiornamento riguarda lo stesso
fornitore non ci sono problemi.Mentre con un altro fornitore questo
non avviene.
Io continuo a non capire dove sta il problema.
Comunque una gestione magazzino seria non utilizza l'ultima transazione ma 
gestisce le varie transazioni, distinguendo articoli diversi se da fornitori 
diversi (vedi anche problema lotti) e soprattutto non usa l'ultimo prezzo ma 
una media ponderata dei vari prezzi di riacquisto
Antonio 

 - Mostra testo citato -
Adesso ci siamo capiti.Spiegato così mi trovi perfattamente
d'accordo.La gestione magazzino che dici te e' la vera "gestione
magazzino" ed io l'ho realizzata in un altro DB.Questo DB gestisce la
produzione di una carpenteria e la parte inerente alla distinta base e
gestione articoli e' stata personalizzata su richiesta del
cliente."Lui" quando crea un prodotto (che come ben sai puo' essere
l'insieme di piu' articoli) vuole in tempo reale l'ultimo prezzo dell'
articolo scelto.Questo io l'ho fatto con un form al cui interno ha un
combo box basato su di una query di raggrupp.Da questa form quindi lui
sceglie l'articolo con l'ultimo prezzo ed il tutto lo va ha
memorizzare in un altro form (per precisione e' un sottoform) dove
appunto vengono elencati tutti gli articoli scelti.questo form e'
basato su di una query che come origine dati ha sia la tab Articoli
che la tab Distinta base.Quindi se in questa form io ho l'articolo
pippo del fornitore Rossi e vado ad aggiornare il prezzo nel form
articoli ,lo trovo modificato anche nella sottoform in questione.Se
invece nella maschera articoli inserisco  lo stesso articolo con una
nuova data e di un fornitore diverso.Lo  trovo nel form di inserimento
ma in quello di 
visualizz.no.Il
 cliente invece vorrebbe che si
sostituisse in automatico anche in quel form.
Non so se sono stato chiaro(non non dirlo...) in sostanza pero' io non
devo aggiornare un record (come ho detto gia' lo fa) io devo
sovrascriverlo e qua che mi fermo.
Grazie mille
Dino

 > automatico la sostituzione dell'articolo(cos� vuole il mio

Adesso ci siamo capiti.Spiegato cos� mi trovi perfattamente
d'accordo.La gestione magazzino che dici te e' la vera "gestione
magazzino" ed io l'ho realizzata in un altro DB.Questo DB gestisce la
produzione di una carpenteria e la parte inerente alla distinta base e
gestione articoli e' stata personalizzata su richiesta del
cliente."Lui" quando crea un prodotto (che come ben sai puo' essere
l'insieme di piu' articoli) vuole in tempo reale l'ultimo prezzo dell'
articolo scelto.Questo io l'ho fatto con un form al cui interno ha un
combo box basato su di una query di raggrupp.Da questa form quindi lui
sceglie l'articolo con l'ultimo prezzo ed il tutto lo va ha
memorizzare in un altro form (per precisione e' un sottoform) dove
appunto vengono elencati tutti gli articoli scelti.questo form e'
basato su di una query che come origine dati ha sia la tab Articoli
che la tab Distinta base.Quindi se in questa form io ho l'articolo
pippo del fornitore Rossi e vado ad aggiornare il prezzo nel form
articoli ,lo trovo modificato anche nella sottoform in questione.Se
invece nella maschera articoli inserisco  lo stesso articolo con una
nuova data e di un fornitore diverso.Lo  trovo nel form di inserimento
ma in quello di 
visualizz.no.Il
 cliente invece vorrebbe che si
sostituisse in automatico anche in quel form.
Non so se sono stato chiaro(non non dirlo...) in sostanza pero' io non
devo aggiornare un record (come ho detto gia' lo fa) io devo
sovrascriverlo e qua che mi fermo.
Ma perch� non puoi fare una query di aggiornamento della tabella dove sono 
sti dati (no, non ho capito) con il nuovo prezzo e il nuovo fornitore e come 
criterio l'id dell'articolo correntemente visualizzato in maschera?
Antonio 

 - Mostra testo citato -
OK. Antonio.Provo ad rielaborare e poi "domani" ti faccio sapere.
NB:Domani se puoi passa da queste parti,potrei aver bisogno di aiuto.
Grazie
Dino

 ha scritto nel messaggio 
news:9ab18997-fa7f-4f1f...@g25g2000yqn.googlegroups.com...
OK. Antonio.Provo ad rielaborare e poi "domani" ti faccio sapere.
NB:Domani se puoi passa da queste parti,potrei aver bisogno di aiuto.
Grazie
Dino
E quindi? 

 E quindi?
Eccomi qua'.Scusa se non ho postato nulla ma purtroppo sono rimasto
fuori studio e lo saro' ancora fino a domani sera.Nel Week end "lungo"
faccio delle prove  e poi ti faccio sapere
Grazie ancora
Dino


Eccomi Antonio ho fatto delle prove ma non riesco ad uscirne.
Di seguito ti riporto il codice SQL delle query in esame così magari
riesci ha risolvermi li problema.
Prima di riporto i dati della query dove vado ad inserire gli articoli
in distinta base riveriti ad un prodotto.
SELECT Articoli.[Lavorazione esterna], Articoli.[Codice art
fornitore], Articoli.IDart, Articoli.Datalistino,
Articoli.Descrizione, Articoli_Distinta_base.IDDistinta,
Articoli_Distinta_base.IDArticoloD,
Articoli_Distinta_base.IDescrizione, Articoli.IDfornitore,
Articoli.Unitadimisura, Articoli.Peso, Articoli_Distinta_base.
[Lunghezza Mt], Articoli_Distinta_base.[Altezza Mt],
Articoli_Distinta_base.[Profondita' Mt], Articoli_Distinta_base.
[Quantita'], Articoli_Distinta_base.Mt, Articoli_Distinta_base.
[Descrizione note], Articoli_Distinta_base.[N° pezzi],
[Prefissoarticolo] & "" & [Codice art fornitore] AS [Codice int
articolo], Articoli.Articolo_con_peso_al_MT, IIf(IsNull([Incremento in
%]) And IsNull([Decremento in %]),[Pz_netto3],IIf(Nz([Incremento in
%])>0 And IsNull([Decremento in %]),[Pz_netto3]*(1+Nz([Incremento in
%])/100),IIf(Nz([Decremento in %])>0 And IsNull([Incremento in %]),
[Pz_netto3]*(1-Nz([Decremento in %]/100))))) AS Pz_def, [Pz_netto2]*(1-
Nz([Sconto3]/100)) AS Pz_netto3, [Tabella clienti].Prefissoarticolo,
[Pz_netto1]*(1-Nz([Sconto2]/100)) AS Pz_netto2, [Prezzo listino]*(1-
Nz([Sconto1]/100)) AS Pz_netto1, IIf(IsNull([Altezza Mt]),[Lunghezza
Mt]*[Profondita' Mt],[Altezza Mt]*[Lunghezza Mt]*[Profondita' Mt]) AS
Area, IIf([Unitadimisura]="Kg/MT2",([Area]*[Peso])*[N°
pezzi],IIf([Unitadimisura]="Kg/MT",([Mt]*[Peso])*[N°
pezzi],IIf([Unitadimisura]="Kg/MT3",([Area]*[Peso])*[N°
pezzi],IIf([Unitadimisura]="Kg" And [Peso]>0,[Peso]*[N°
pezzi],IIf([Unitadimisura]="g" And [Peso]>0,[Peso]*[N°
pezzi],IIf([Unitadimisura]="M" And [Articolo_con_peso_al_MT]=True,
[Peso]*[N° pezzi],IIf([Unitadimisura]="M2" And
[Articolo_con_peso_al_MT]=True,[Peso]*[N°
pezzi],IIf([Unitadimisura]="M3" And [Articolo_con_peso_al_MT]=True,
[Peso]*[N° pezzi],0)))))))) AS Peso_tot, IIf([Unitadimisura]="g",[N°
pezzi]*[Pz_def],IIf([Unitadimisura]="N°",[Pz_def]*[N°
pezzi],IIf([Unitadimisura]="L",[Pz_def]*[N°
pezzi],IIf([Unitadimisura]="Min",[Pz_def]*[N°
pezzi],IIf([Unitadimisura]="Kg/MT",([Pz_def]*Nz([Peso_tot],1))*[N°
pezzi],IIf([Unitadimisura]="M",([Pz_def]*[Mt])*[N°
pezzi],IIf([Unitadimisura]="Kg",[Pz_def]*[N°
pezzi],IIf([Unitadimisura]="M2",([Area]*[Pz_def])*[N°
pezzi],IIf([Unitadimisura]="M3",([Area]*[Pz_def])*[N°
pezzi],IIf([Unitadimisura]="Kg/MT2",([Pz_def]*Nz([Peso_tot],1))*[N°
pezzi],IIf([Unitadimisura]="Kg/MT3",([Pz_def]*Nz([Peso_tot],1))*[N°
pezzi],0))))))))))) AS Costo, Articoli.Sconto1, Articoli.Sconto2,
Articoli.Sconto3
FROM ([Tabella clienti] INNER JOIN Articoli ON [Tabella
clienti].Cliente = Articoli.IDfornitore) INNER JOIN
Articoli_Distinta_base ON Articoli.IDArticolo =
Articoli_Distinta_base.IDescrizione
ORDER BY Articoli_Distinta_base.IDArticoloD DESC;
Adesso ti riporto invece  sql della query di raggrupp che faccio usare
nel combo del form che inserisic gli articoli in distinta base
SELECT Last(Ragrrart.IDArticolo) AS UltimoDiIDArticolo,
Ragrrart.Descrizione, Max(Ragrrart.Datalistino) AS [MaxDiData listino]
FROM Ragrrart
GROUP BY Ragrrart.Descrizione;
Con questa query io scelo sempre l'ultimo articolo inserito
nell'anagrafica articoli.Il problema e' che questo articolo si
dovrebbe sostituire a quello in distinta base
Dino

 - Mostra testo citato -
Ok Antonio tutto risolto.
Grazie mille
Dino

 ha scritto nel messaggio 
news:a65ba9c2-6e08-4c40...@j25g2000yqa.googlegroups.com...


Ok Antonio tutto risolto.
Grazie mille
Dino
Magari a questo punto, a beneficio di tutti, posta come hai risolto e dove 
era il problema
Antonio

 Antonio
Il fascino di Access....Si lavora a tutte le ore.
Per risolvere li problema sono ritornato a monte dell'inserimento.In
sostanza quando devo inserirelo stesso articolo ma da diverso
fornitore non faccio altro che recuperare l'articolo e
duplicarlo.L'articolo duplicato(al quale via codice assegno il
carattere punto)viene poi modificato con i dati del nuovo fornitore.
Facendo così  aggiorno in automatico la mia distinta base.
Grazie ancora
Dino