Newsgroup: it.comp.appl.access
Titolo: Controllare se fattura già registrata per una det partita Iva

Buonasera a tutti.
tempo fa avevo gi� chiesto il vostro aiuto per questo argomento ma non sono 
ancora riuscita a risolvere.
Ho bisogno che mi venga segnalato quando una ft per un determinato fornitore 
� gi� stata registrata.
Ho indicato:
Private Sub NUM_FT_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from 
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & Me.PARTITA_IVA & 
Chr(34) & " AND [NUM FT]=" & Me.NUM_FT)
While rs.EOF
MsgBox rs![NUM FT] & " per il cliente, gi� registrato"
Exit Sub
Wend
Set rs = Nothing
End Sub
ma mi d� errore 3061 "parametri insufficienti".
Suggerimenti?
Grazie infinite
-- 
Giorgia 

 Suggerimenti?
Non l'hai rivelato ma presumo che l'errore venga nella riga con
l'OpenRecordset. Di solito viene se l'enunciato SQL non � corretto.
Allora fai la prova:
- Crea una nuova query.
- Copia e incolla questa stringa nella vis. SQL della query:
Select [PARTITA IVA], [NUM FT]
from [FATTURE ACQUISTO]
WHERE [PARTITA IVA]='Pippo'
- Apri la vis. struttura e/o dati della query e controlla se vedi un errore.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Chr(34) & " AND [NUM FT]=" & Me.NUM_FT)
probabilmente una delle 2 variabili non sono valorizzate nel momento in cui 
le passi al recordset...
fai il debug del codice e assicurati che Me.PARTITA_IVA e Me.NUM_FT siano 
valorizzati...
F� cos�
Dim sqlString As String
sqlString = "Select [PARTITA IVA], [NUM FT] from [FATTURE ACQUISTO] WHERE 
[PARTITA IVA]=" & Chr(34) & Me.PARTITA_IVA & Chr(34) & " AND [NUM FT]=" & 
Me.NUM_FT
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(sqlString)
...
...
poi il resto del codice...
verifica che quando passi su sqlString, diventi l'sql che vuoi...


 ha scritto nel messaggio 
news:hc76ag$msb$1...@aioe.org...

Ciao Karl e Pablitomf,
con le vostre prove ho capito di avere dei problemi con il campo PARTITA IVA 
in quanto � popolato solo nella maschera e non nella tabella FATTURE 
ACQUISTO.
Allo stato attuale delle cose ho una tbl FATTURE ACQUISTO con il campo CONTO 
FORNITORE senza la relativa partita iva collegata, il campo PARTITA IVA � 
cio� vuoto.
Questo succede perch� i dati anagrafici del fornitore vengono inseriti 
tramite la form ANAGRAFICA FORNITORI: c'� un modo per fare in una tabella un 
discorso simile a quando nelle form si indica
CONTO FORNITORE.Column(1)  ?
-- 
Giorgia

 Giorgia
Il conto fornitore è quindi slegato dal fornitore stesso?

Giorgia ha scritto:

In tabella no, ma in una maschera puoi accedere a dati di altre tabelle
con Dlookup.
Es: Dlookup("PartitaIva","Anagrafica","IdAnagrafica=" & Me.IdFornitore)
supponendo che nella tua maschera si trovi un IdFornitore.
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Grazie mi sembra interessante ma come posso integrare il fatto che trovo la 
partita iva corrispondente con Dlookup con il resto della funzione?
Private Sub NUM_FT_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & Me.PARTITA_IVA &
Chr(34) & " AND [NUM FT]=" & Me.NUM_FT)
While rs.EOF
MsgBox rs![NUM FT] & " per il cliente, gi� registrato"
Exit Sub
Wend
Set rs = Nothing
End Sub
-- 
Giorgia 

 Giorgia
non và non và... così sta storia diventa un ACCROCCO troppo incasinato
(non che non si possa cmq risolvere ovviamente, ma se non ti decidi a
normalizzare il DB la vedo dura)... il tuo WHERE [PARTITA IVA]
dovrebbe diventare WHERE [CONTO FORNITORE] (peccato che tu in questo
registri la Ragione Sociale e non l'ID... Ragione Sociale che potrebbe
essere uguale per più CONTO FORNITORE diversi...)...

 Wend

Non facciamo agitare Maurizio :-))
anche perch� quello che tu vuoi fare lascia un po' il tempo che trova. Se
per caso digiti il nr. fattura errato duplichi tranquillamente una fattura
gi� esistente. Per cui il parametro NrFattura non ti da alcuna sicurezza.
Per il dlookup puoi fare
 
Dim rs As DAO.Recordset
Dim strDlk as string
strDlk=Dlookup("PartitaIva","Anagrafica","IdAnagrafica=" & Me.IdFornitore)
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from
 [FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk &
 Chr(34) & " AND [NUM FT]=" & Me.NUM_FT)
--


 -- 
-- 
Giorgia 


Allora, ho aggiornato la funzione secondo le mie presunte esigenze in questo 
modo
Private Sub NUM_FT_AfterUpdate()
Dim rs As DAO.Recordset
Dim strDlk As String
strDlk = DLookup("PARTITA IVA", "ANAGRAFICA FORNITORI", "COD FORNITORE=" & 
Me.COD_FORNITORE)
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from 
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34) & " 
AND [NUM FT]=" & Me.NUM_FT)
While rs.EOF
MsgBox rs![NUM FT] & " per il cliente, gi� registrato"
Exit Sub
Wend
Set rs = Nothing
End Sub
ma come risultato ho errore 3075: operatore mancante nell'espressione della 
query 'PARTITA IVA'.
il Dlk non ha funzionato?
-- 
Giorgia

 il Dlk non ha funzionato?
così come è fatto non potrebbe...
"PARTITA IVA" il campo
così come
"ANAGRAFICA FORNITORI" la tabella
hanno uno spazio nel loro nome, quindi vanno tra parentesi quadre

 Wend



L'uso delle denominazioni per gli oggetti i campi e le variabili di Access
� una cosa da non sottovalutare.
Vedi:
http://www.donkarl.com/it/FAQ/FAQ1Fondamentali.htm#1.5
Maurizio ti ha gi� fatto notare l'errore.



Grazie, ho corretto la mia distrazione ed ora in effetti il tipo di errore � 
cambiato:
2465: "impossibile trovare il campo"I" a cui si fa riferimento 
nell'espressione
Specifico per� che il campo COD_FORNITORE nella maschera � =[CONTO 
FORNITORE].Column(4)
Forse dovrei trasformarlo in numero per paragonarlo al campo COD_ FORNITORE 
della tabella che � un Id numerico?
Riposto la stringa incriminata
 strDlk = DLookup([PARTITA IVA], [ANAGRAFICA FORNITORI], [COD FORNITORE=] & 
Me.COD_FORNITORE)
-- 
Giorgia

 Giorgia
strDlk = DLookup([PARTITA IVA], [ANAGRAFICA FORNITORI], [COD
FORNITORE=] & Me.[CONTO
FORNITORE].Column(4) )
Ti eri risposta da sola

 Giorgia
strDlk = DLookup([PARTITA IVA], [ANAGRAFICA FORNITORI], [COD
FORNITORE=] & Me.[CONTO
FORNITORE].Column(4) )
Ti eri risposta da sola
mi pareva strano fossi in grado di dare risposte.....
l'errore rimane lo stesso.....
sigh sob
-- 
Giorgia

Giorgia ha scritto:



Ciao Giorgia
Ma ti dimentichi la corretta sintassi.. mancano le virgolette.
strDlk =DLookup("[PARTITA IVA]", "[ANAGRAFICA FORNITORI]", "[COD
FORNITORE]=" & Me.[CONTO FORNITORE].Column(4))
Le parentesi [] sei obbligata a metterle perch� utilizzi nomi separati da
spazi... purtroppo :-((


 questo articolo e` stato inviato via web dal servizio gratuitohttp://
www.newsland.it/newssegnala
 gli abusi ad 
ab...@newsland.it
ed eventualmente il &chr(34)& prima e dopo me.[CONTO FORNITORE].Column
(4)... nel caso in cui il contenuto fosse un testo


TENTATIVO 1: corretta la sintassi dai miei "orrori", l'errore si sposta 
nella riga successiva che posto qui:
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from 
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34) & " 
AND [NUM FT]=" & "Me.[CONTO FORNITORE].COLUMN(4)")
ed � il 3085: funzione ' Me.[CONTO FORNITORE].Column(4)' non definita nella 
funzione
TENTATIVO 2: visto che il campo Me.[CONTO FORNITORE].Column(4) pur sembrando 
numerico � un testo ho usato il consiglio di Pablitomf
"ed eventualmente il &chr(34)& prima e dopo me.[CONTO 
FORNITORE].Column(4)... nel caso in cui il contenuto fosse un testo"
cos�:
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from 
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34) & " 
AND [NUM FT]=" & Chr(34) & "Me.[CONTO FORNITORE].Column(4)" & Chr(34))
ma l'errore diventa di run time n� 3061: 'parametri insufficienti. previsto 
1'.
ho creato una storia infinita......
Grazie per la pazienza
-- 
Giorgia

 Grazie per la pazienza
ma che roba sono quelle VIRGOLETTE prima di Me.[CONTO FORNITORE].Column(4)?
va scritta cos� perch� quello � un controllo:
....AND [NUM FT]=" & Me.[CONTO FORNITORE].COLUMN(4))
o cos�
....AND [NUM FT]=" & chr(34) & Me.[CONTO FORNITORE].COLUMN(4)& chr(34)& ";") 

 ";")
Nulla da fare l'errore 3061 mi si � affezionato.
Ho provato le 2 alternative ma niente

 Ho provato le 2 alternative ma niente
prima di openrecordset
fa una prova...
debug.print "Select [PARTITA IVA], [NUM FT] from
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34)
& "
AND [NUM FT]=" & Chr(34) & Me.[CONTO FORNITORE].Column(4) & Chr(34)
quel che ti restituisce, provalo in una query e vedi se ti da errore...

Giorgia ha scritto:


Ciao Giorgia..
intanto siamo sicuri dell'esistenza della Column(4)  :-))?
Sicuramente sai che la prima colonna della combo � Column(0).
Comunque riscrivila in questa maniera:
...AND [NUM FT]=" & chr(34) & Eval(Me.[CONTO FORNITORE].COLUMN(4)) &
chr(34) & ";")
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 sv
Scusate, il ritardo non � dovuto al disinteresse ma all'influenza!
Salvino, grazie per l'ennesimo tentativo  ma neanche questa volta l'errore 
3061 � stato eliminato, ora provo con il consiglio di Pablitomf.
La colomn(4) esiste....;-)
-- 
Giorgia 

Giorgia ha scritto:


Me.[CONTO FORNITORE].COLUMN(4) ti restituisce sempre un valore o per caso
ci sono valori nulli? E' testo o numerico?


 -- 
Non � mai un campo vuoto perch� nella tabella e relativa form originali, 
cio� ANAGRAFICA FORNITORI, corrisponde all'ID.

 cioè ANAGRAFICA FORNITORI, corrisponde all'ID.
Bhè e il consiglio di Pablitomf? ;)

 cio� ANAGRAFICA FORNITORI, corrisponde all'ID.
Bh� e il consiglio di Pablitomf? ;)
non mi ha restituito niente.....;-( 


quindi l'sql � sbagliato! 

Giorgia ha scritto:



Posta l'SQL della query che hai costruito con il consiglio di Pablito..


 Ho provato le 2 alternative ma niente
prima di openrecordset
fa una prova...
debug.print "Select [PARTITA IVA], [NUM FT] from
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34)
& "
AND [NUM FT]=" & Chr(34) & Me.[CONTO FORNITORE].Column(4) & Chr(34)
quel che ti restituisce, provalo in una query e vedi se ti da errore...
Sto provando quanto mi hai suggerito ma mi da errore 2465 impossibile 
trovare il campo "I" nell'espressione.
Premetto di non essere sicura di averlo collocato al posto giusto.....vedere 
per credere.....
Private Sub NUM_FT_AfterUpdate()
Debug.Print "Select [PARTITA IVA], [NUM FT] from"
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34)& "AND 
[NUM FT]=" & Chr(34) & Me.[CONTO FORNITORE].Column(4) & Chr(34)
Dim rs As DAO.Recordset
 Dim strDlk As String
strDlk = DLookup("[PARTITA IVA]", "[ANAGRAFICA FORNITORI]", "[COD 
FORNITORE]=" & Me.[CONTO FORNITORE].Column(4))
Set rs = CurrentDb.OpenRecordset("Select [PARTITA IVA], [NUM FT] from 
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk & Chr(34) & " 
AND [NUM FT]=" & Chr(34) & Eval(Me.[CONTO FORNITORE].Column(4)) & Chr(34) & 
";")
 While rs.EOF
 MsgBox rs![NUM FT] & " per il cliente, gi� registrato"
 Exit Sub
 Wend
 Set rs = Nothing
End Sub
uff...
Giorgia

 FORNITORE]=" & Me.[CONTO FORNITORE].Column(4))
ecco, qua puoi mettere il Debug.Print, perch� hai finalmente valorizato 
strDlk
segui il debug. e vedi nella finestra immediata cosa ti restituisce il 
debug... prendi il risultato, incollalo in una query e vedi che errore ti d� 
(o postalo qu�) 

Pablitomf (da casa) ha scritto:





Questa � errata comunque in quanto mancano spazi e virgolette:
"Select [PARTITA IVA], [NUM FT] from"
[FATTURE ACQUISTO] WHERE [PARTITA IVA]=" & Chr(34) & strDlk &
 Chr(34)& "AND [NUM FT]=" & Chr(34) & Me.[CONTO FORNITORE].Column(4) &
 Chr(34)
Deve essere:
"Select [PARTITA IVA], [NUM FT]" _
& " FROM [FATTURE ACQUISTO] WHERE [PARTITA IVA]=" _
& Chr(34) & strDlk & Chr(34) _
& " AND [NUM FT]=" & Chr(34) & Me.[CONTO FORNITORE].Column(4) & Chr(34)
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


 ha scritto nel messaggio 
news:6MhLm.94625$9f6.1...@twister1.libero.it...

la query non mi sembra dare errori. chiede per� all'utente di inserire il 
numero della fattura.
Questo � il cod. sql della query:
Select [PARTITA IVA], [NUM FT] FROM [FATTURE ACQUISTO] WHERE [PARTITA 
IVA]="08862530014" AND [NUM FT]="27"
segnalo per� che il [NUM FT] corrente doveva essere "34" e questo 27 non so 
da dove salti fuori.....
ne deduco che il problema stia nel dirgli di confrontare il NUM FT appena 
inserito con quelli gi� presenti in tabella nella corrispondenza con la 
partita Iva.
Ha una logica quello che scrivo?
Giorgia

 inserito con quelli già presenti in tabella nella corrispondenza con la


- posto qui quello che con outlook non ho ricevuto ma che ho trovato nel 
nttp on line -
- Pablitomf wrote -
qual'� il TESTO che compare a video nella richiesta del numeri della
fattura? (scrivimelo per bene)
perch� se il testo � NUM FT, vuol dire che � un campo che nella
tabella [FATTURE ACQUISTO] non esiste.
--------
S� Pablitomf, il testo � proprio quello NUM FT e infatti nella tabella 
[FATTURE ACQUISTO] � presente come FATTURA NUMERO.
Ho modificato la stringa e inserita nella query cos�
Select [PARTITA IVA], [FATTURA NUMERO] FROM [FATTURE ACQUISTO] WHERE 
[PARTITA IVA]="08862530014" AND [FATTURA NUMERO]="27"
ma questo "27" ho scoperto essere il CONTO FORNITORE e non il numero della 
fattura!
� forse sbagliato il dlookup?
strDlk = DLookup("[PARTITA IVA]", "[ANAGRAFICA FORNITORI]", "[COD 
FORNITORE]=" & Me.[CONTO FORNITORE].Column(4))
non capisco....
Giorgia 

 Giorgia
;)

 Giorgia
;)
Grazie per l'incoraggiamento, mi sono impegnata ed ora la stringa SQL � 
corretta:
Select [PARTITA IVA], [FATTURA NUMERO] FROM [FATTURE ACQUISTO] WHERE 
[PARTITA IVA]="08862530014" AND [FATTURA NUMERO]="34"
per� non mi viene segnalato ci� per cui ho voluto creare questo post cio� 
che la ft 34 per la partita Iva 08862530014 � gi� stata registrata.
Uso un If?
...praticamente oltre l'impegno ho bisogno di un insegnante di 
sostegno......;-)
Giorgia 


Visto che quando ti impegni ci riesci? :D
cmq io farei :
SELECT Count([PARTITA IVA]) AS Tot
FROM [FATTURE ACQUISTO]
GROUP BY [PARTITA IVA], [FATTURA NUMERO]
HAVING [PARTITA IVA]="08862530014" AND [FATTURA NUMERO]="34";
in questo modo il tuo SQL conta le fatture che hanno i parametri che gli 
passi...
per cui puoi avrai il tuo campo "Tot" che conterr� il numero delle fatture 
gi� inserite con stesso cliente e stesso numero...
If nz(rs!Tot,0)>0 then
    Msgbox "Per questo cliente queta fattura � gi� stata inserita " & rs!Tot 
& " volte",,"ATTENZIONE"
End If 


Grazie mille prof.
- un chiarimento a livello teorico: cosa specifica questa parte? "...& 
rs!Tot  & " volte",,"ATTENZIONE""
- un chiarimento a livello pratico: dove � corretto inserire il SelectCount? 
perch� a me d� "Istruzione non valida all'esterno del blocco Type" ed ho 
provato a inserirlo subito dopo il Set rs e sia alla fine quando Set rs= 
nothing
Thanks
Giorgia

 Giorgia

 Giorgia

 > Giorgia
uhauhauhauhauhauhauhauhauhauhauhauhauha
quello è il SELECT... da mettere nel recordset al posto di quello che
hai fatto tu. :D
una select che ti restituisce direttamente un campo Tot che calcola in
numero di record (se ne trova 1 restituirà 1,  se ne trova 3
restituirà 3...) senza far altro... basterà solo controllare il valore
di questo campo leggendolo e capirai se ci sono duplicati o meno...
a volte credo tu mi stia prendendo in giro :D

 ha scritto nel messaggio 
news:hJWMm.95735$1s6....@twister2.libero.it...

Perdono, stresso ancora su questo argomento ma pur avendo cercato aiuto 
sulla guida non ne sono venuta a capo.
Sembra che la sintassi per AS non sia corretta, mi chiede una fine 
d'istruzione oppure ) ma non sono riuscita a sistemare.....
Giorgia 


Giorgina mi sorge un dubbione :
SELECT Count([PARTITA IVA]) AS Tot FROM [FATTURE ACQUISTO] GROUP BY [PARTITA 
IVA], [FATTURA NUMERO] HAVING [PARTITA IVA]="08862530014" AND [FATTURA 
NUMERO]="34";
ma la metti sulla stessa riga?


S�, ho provato anche un'istruzione per riga ma non va comunque...


impossibile... 

 ha scritto nel messaggio 
news:HBTQm.100818$1s6....@twister2.libero.it...

Usando il debug il problema di sintassi sembra nascere nell' "AS Tot"
continua a dirmi "fine istruzione o )"
che barba!
Giorgia 

 ha scritto nel messaggio 
news:hf2mi6$v6f$1...@aioe.org...

Messa cos�
SELECT Count([PARTITA IVA]) AS Tot FROM [FATTURE ACQUISTO] GROUP BY[PARTITA 
IVA], [FATTURA NUMERO] HAVING [PARTITA IVA]="08862530014"AND [FATTURA 
NUMERO]="34";
mi d� "semplicemente" errore di sintassi senza ulteriori indicazioni
Giorgia 

 ha scritto nel messaggio 
news:hf2orr$2d0$1...@aioe.org...

Non ho seguito la discussione precedente ma se parli di debug ti evidenzio 
che
kn VBA non puoi usare i doppi apici per i campi tsti
sostituiscili con l'apice singolo
NUMERO]='34'; 

Ciao a tutti,
impazzisco ad ogni inserimento di nuova fattura!
l'errore � "argomento non facoltativo".
Private Sub NUM_FT_AfterUpdate()
Dim rs As DAO.Recordset
 Dim strDlk As String
strDlk = DLookup("[PARTITA IVA]", "[ANAGRAFICA FORNITORI]", "[COD 
FORNITORE]=" & Me.[CONTO FORNITORE].Column(4))
Set rs = CurrentDb.OpenRecordset
SELECT Count([PARTITA IVA]) AS Tot FROM [FATTURE ACQUISTO] GROUP BY[PARTITA 
IVA], [FATTURA NUMERO] HAVING [PARTITA IVA]='08862530014'AND [FATTURA 
NUMERO]='34';
If Nz(rs!Tot, 0) > 0 Then
    MsgBox "Per questo cliente queta fattura � gi� stata inserita " & rs!Tot 
& " volte", , "ATTENZIONE"
End If
While rs.EOF
Exit Sub
 Wend
 Set rs = Nothing
End Sub
Mi aiutate a correggere la sintassi di questa stringa malefica??
Grazie infinite
Set rs = CurrentDb.OpenRecordset
SELECT Count([PARTITA IVA]) AS Tot FROM [FATTURE ACQUISTO] GROUP BY[PARTITA 
IVA], [FATTURA NUMERO] HAVING [PARTITA IVA]='08862530014'AND [FATTURA 
NUMERO]='34';
Giorgia 

 IVA]='08862530014'AND [FATTURA NUMERO]='34';
Giorgiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!
ma dico io, vuoi aprire il recordset? e le parentesi nd� stanno?...
il recordset si apre cos� :
Set rs = CurrentDb.OpenRecordset("...ci scrivi il testo della tua 
select....")
:) 

 ha scritto nel messaggio 
news:WxWRm.102226$1s6....@twister2.libero.it...

Giurin giuretto..........
ho fatto mille prove prima.....con parentesi e "......
ora va....ho sostituito come suggerito da MA le" con '...
sar� quello......eh eh
Comunque, un'ultima (spero) cosa:
il messaggio
If Nz(rs!Tot, 0) > 0 Then
    MsgBox "Per questo cliente questa fattura � gi� stata inserita " & 
rs!Tot & " volte", , "ATTENZIONE"
    Else
End If
viene visualizzato SEMPRE, e se � la prima volta che inserisco la fattura mi 
viene indicato giustamente che � "stata registrata 1 volte".
Come posso far comparire il msg solo se � gi� stata inserita quella stessa 
identica fattura?
ho provato con
If Nz(rs!Tot, 0) > 1 Then
ma cos� non mi viene segnalato mai niente!
Giorgia 

 ma cos non mi viene segnalato mai niente!
impossibile...
nel senso che rs!Tot è il conteggio telle fatture con un certo numero
di un certo cliente...
per cui se ce ne sta 1 in archivio, la "if" non  valuta rs!Tot
maggiore di 1 per cui non segnala... ma se rs!Tot è maggiore di 1 per
forza deve eseguire il MSGBOX... prima della IF, sulla riga subito
sopra, metti un :
MSGBOX "Conteggio : " & Nz(rs!Tot,0)
salva tutto, e prova a registrare una fattura 2 volte... vedi che ti
da come messaggio.

 ma cos non mi viene segnalato mai niente!
impossibile...
nel senso che rs!Tot � il conteggio telle fatture con un certo numero
di un certo cliente...
per cui se ce ne sta 1 in archivio, la "if" non  valuta rs!Tot
maggiore di 1 per cui non segnala... ma se rs!Tot � maggiore di 1 per
forza deve eseguire il MSGBOX... prima della IF, sulla riga subito
sopra, metti un :
MSGBOX "Conteggio : " & Nz(rs!Tot,0)
salva tutto, e prova a registrare una fattura 2 volte... vedi che ti
da come messaggio.
Seguite tue istruzioni alla lettera, il messaggio �
Conteggio:1
Sempre, che la fattura sia gi� stata inserita una volta o mai.
Giorgia

 Giorgia
Mi sà che ho capito... inserisci la stessa fattura 3 volte e guarda
cosa ti dà... se in questo caso funziona, è perchè sul secondo
inserimento, non avendo ancora salvato il record, non lo conteggia...
dovrebbe bastare a sto punto, fare un operazione di salvataggio del
record con :
DoCmd.RunCommand acCmdSaveRecord
prima di ogni altra riga di codice... in questo caso, avendo salvato
il record, dovrebbe conteggiarlo nella query che lanci da recordset...
e quindi il messaggio dovrebbe apparirti correttamente...

 Giorgia
Mi s� che ho capito... inserisci la stessa fattura 3 volte e guarda
cosa ti d�... se in questo caso funziona, � perch� sul secondo
inserimento, non avendo ancora salvato il record, non lo conteggia...
dovrebbe bastare a sto punto, fare un operazione di salvataggio del
record con :
DoCmd.RunCommand acCmdSaveRecord
prima di ogni altra riga di codice... in questo caso, avendo salvato
il record, dovrebbe conteggiarlo nella query che lanci da recordset...
e quindi il messaggio dovrebbe apparirti correttamente...
macch�.....anche salvando il record e registrando appositamente 3 volte la 
stessa fattura il conteggio risulta = 1.
Eppure la definizione di Tot mi sembra corretta....
AS Tot FROM [FATTURE ACQUISTO] GROUP BY[PARTITA IVA], [FATTURA NUMERO]
non mi potr� mai fidare di questo comando......:-(
Giorgia

 > Giorgia
Giorgia, ti faccio una domanda più che stupida, ma a sto punto è
doverosissima visto che il tutto DEVE funzionare come ti ho detto...
ma la registrazione "PIU VOLTE" della fattura sullo stesso cliente per
la quale tu sostieni che il sistema non funziona, è registrata sul
cliente la cui partita iva e il cui numero sono quelle inserite nella
SELECT?...
Giusto per ricordartelo, tu nella select scegli di conteggiare LA
(quindi singola) fattura "34" del cliente "08862530014"...
che mi dici a riguardo?

 > Giorgia
Giorgia, ti faccio una domanda pi� che stupida, ma a sto punto �
doverosissima visto che il tutto DEVE funzionare come ti ho detto...
ma la registrazione "PIU VOLTE" della fattura sullo stesso cliente per
la quale tu sostieni che il sistema non funziona, � registrata sul
cliente la cui partita iva e il cui numero sono quelle inserite nella
SELECT?...
Giusto per ricordartelo, tu nella select scegli di conteggiare LA
(quindi singola) fattura "34" del cliente "08862530014"...
che mi dici a riguardo?
no....."ovviamente" no.....
e in effetti non capivo il perch� avessimo specificato una determinata 
partita iva e un det.numero di fattura nella Select......
Giorgia 


chiamami su MSN cos� ti UCCIDO!!!!!!!!!!!
quei numeri erano per provare se l'SQL funzionava!!!!
m� quei numeri non ti servono pi� cos� come sono!!!
devi sostituire il numero di P.Iva con quello prelevato con la strDlk, e il 
numero della fattura prelevato dalla Form!!!! mannaggia a te! :D
Ci stai mandando al manicomio... 

 Ci stai mandando al manicomio...
ehm.....almeno non sarei sola in quella stanzetta del manicomio....
dunque, questo il mio tentativo
Set rs = CurrentDb.OpenRecordset("SELECT Count([PARTITA IVA]) AS Tot FROM 
[FATTURE ACQUISTO] GROUP BY[PARTITA IVA], [FATTURA NUMERO] HAVING [PARTITA 
IVA]=" & Chr(34) & strDlk & Chr(34) & " AND [FATTURA NUMERO]=" & Me.[NUM 
FT])
ma errore di run time 3464 , "tipi di dati non corrispondenti 
nell'espressione criterio"
ho provato senza chr ma neanche...
sono da uccidere anche stavolta o basta qualche insulto? ;-)
Giorgia 


Qualche insulto basta! :D
Perchè quando c'èra 34 al posto di Me.[NUM FT] la trattavi come testo
e nel tuo SQL lo vuoi trattare come numero?
se mettevi ='34' usando gli apici, vuol dire che era e quindi è un
testo... per cui:
".... AND [FATTURA NUMERO]=" & chr(34) & Me.[NUM FT] & chr(34))
prova

 Giorgia
Qualche insulto basta! :D
Perch� quando c'�ra 34 al posto di Me.[NUM FT] la trattavi come testo
e nel tuo SQL lo vuoi trattare come numero?
se mettevi ='34' usando gli apici, vuol dire che era e quindi � un
testo... per cui:
".... AND [FATTURA NUMERO]=" & chr(34) & Me.[NUM FT] & chr(34))
prova
grandi notizie!
funziona tutto a meraviglia!
e ho finito di farvi ammattire!!
grazie mille per la pazienza!
Giorgia

 Giorgia
In realt� devi ringraziare solo Pablitomf che ti ha preso in carico fino 
alla soluzione...Gli altri si sono arresi quasi subito.
Ciao, Carlo