Newsgroup: it.comp.appl.access
Titolo: ultimo numero fattura

Dato che il database da me costruito è multiaziendale, non ho trovato
nel sito comune una risorsa che facesse al mio caso.
Il problema è questo. Ho bisogno di sapere per tutte le aziende
l'ultimo numero di fattura emessa.
Ho creato una query dove chiedo ll valore max del campo NFattura dalla
tabella Fattura e ovviamente mi dà l'ultimo usato senza tener conto da
quale azienda. Come faccio ad ottenere l'ultimo numero per ognuna delle
aziende?
Grazie anticipate.

 ha scritto nel messaggio 
news:1169033582.8...@q2g2000cwa.googlegroups.com...

---------------------------
Immaginando che hai usato una chiave primaria a due campi (IDFattura e 
IDAzienda) non dovresti avere nessun problema. Anche se non hai scelto 
questa strada nessun problema:
Dmax("IDFattura", "TuaTabella", "IDAzienda=" & N°idAzienda).
Alla tua query puoi aggiungere il criterio dell'IDAzienda nella 
corrispondente colonna.
Puoi anche raggruppare a avere l'elenco completo:
SELECT Max(Fatture.IDF) AS MaxDiIDF, Fatture.IDA
FROM Fatture
GROUP BY Fatture.IDA;
Fammi sapere se funzia..
Ciao, Carlo

 GROUP BY Fatture.IDA
ha funzionato.
Nella maschera "aziende" ora ho un campo non associato con la seguente
query
SELECT [ult num].MaxDiID, Aziende.IDAzienda
FROM [ult num] INNER JOIN Aziende ON [ult num].IDAzienda =
Aziende.IDAzienda;
ma cambiando con il selettore dei record l'azienda il campo rimane
fisso sul numero di fattura più alto senza distinguerlo per azienda.
Spero di essermi spiegato bene. Grazie.

 fisso sul numero di fattura più alto senza distinguerlo per azienda.
ma se questo controllo non associato lo associ a "=Dmax("IDFattura"; 
"TuaTabella"; "IDAzienda=" & 
[nomecontrollo_che_identifica_l'azienda_nella_maschera & "")"
non ti funziona?

 ha scritto nel messaggio 
news:1169053974.6...@51g2000cwl.googlegroups.com...
Carlo Costarella ha scritto:


--------------------------------
Non capisco perchè usi un controllo non associato se la query ti restituisce 
più record (almeno così dovrebbe essere se usi più aziende), in questo caso 
vedi solo il primo record.
Può anche darsi che hai usato un criterio nella query e allora va tutto 
bene...
Nel caso non lo avessi fatto devi aggiungere alla query uno o più criteri, 
facendo riferimento alla maschera e facendo un requery del controllo.
Un esempio di criterio nella query: Forms!NomeMaschera!NAzienda
 Ciao, Carlo

  Ciao, Carlo
Allora la query mi restituisce due colonne e tanti record quante sono
le aziende della tabella "aziende".
Il risultato è uguale per tutte le aziende. Le due colonne si chiamano
"maxdinumfat" e proviene dalla query in cui chiedo l'ultimo numero di
fatture, e IDAzienda della tabella aziende.
Dove devo inserire il criterio Forms!NomeMaschera!NAzienda, nella prima
 o nella seconda query e in quale colonna?
Grazie. Giuseppe.

  Ciao, Carlo
Allora Carlo ora ho questa situazione:
SELECT Max(fatture.[num fat]) AS [MaxDinum fat1]
FROM Aziende INNER JOIN fatture ON Aziende.IDAzienda =
fatture.IDAzienda
GROUP BY Aziende.IDAzienda;
mi restituisce per ogni azienda il suo ultimo numero fattura. Nella
maschera al campo su cui è impostata la query mi fa vedere tre righe
con i tre diversi risultati perchè su 6 aziende tre hanno emesso
fattura.
Cosa devo cambiare nella query?  Scusami per il disturbo, non è che
sia molto esperto. 
Grazie. peppino.

  Ciao, Carlo
Allora la query mi restituisce due colonne e tanti record quante sono
le aziende della tabella "aziende".
Il risultato è uguale per tutte le aziende. Le due colonne si chiamano
"maxdinumfat" e proviene dalla query in cui chiedo l'ultimo numero di
fatture, e IDAzienda della tabella aziende.
Dove devo inserire il criterio Forms!NomeMaschera!NAzienda, nella prima
 o nella seconda query e in quale colonna?
Grazie. Giuseppe.
Ricorda sempre di usare il criterio con lo stesso tipo di dati della 
colonna.
Se vuoi filtrare per l'id azienda e questo valore è un numerico, anche il 
criterio dovrà contenere un valore numerico.
In questo caso e se sulla maschera hai l'idAzienda, nel criterio della 
query, nella colonna corrispondente a IDAzienda, scriverai: 
Forms!NomeMaschera!IDAzienda.
Non capisco cosa vuoi dire con la prima e seconda query. Se una query 
alimenta la seconda puoi usare il criterio indifferentemente; altrimenti 
usalo nella query che ti serve

 ha scritto nel messaggio 
news:1169718908.2...@m58g2000cwm.googlegroups.com...
cut
Allora Carlo ora ho questa situazione:
SELECT Max(fatture.[num fat]) AS [MaxDinum fat1]
FROM Aziende INNER JOIN fatture ON Aziende.IDAzienda =
fatture.IDAzienda
GROUP BY Aziende.IDAzienda;
mi restituisce per ogni azienda il suo ultimo numero fattura. Nella
maschera al campo su cui è impostata la query mi fa vedere tre righe
con i tre diversi risultati perchè su 6 aziende tre hanno emesso
fattura.
Cosa devo cambiare nella query?  Scusami per il disturbo, non è che
sia molto esperto.
Grazie. peppino.
--------------------------------
Credo che la risposta precedente dovrebbe andare bene.
In pratica se ti interessa avere la sola azienda presente nella maschera 
devi usare il criterio su IdAzienda =
Forms!TuaMaschera!TuoControlloConIdAzienda.
Ciao, Carlo