Newsgroup: it.comp.appl.access
Titolo: Primo Gestionale/Bloccato (x Roby)

 farli come ho scritto sopra.
Mi sono bloccato sulla Funzione DLookUp , ho provato circa  50
varianti partendo da queste che mi sembra abbiano una certa logica :
Lo Storico è la seconda tabella con i dati (ovviamente).
Nominativo è il dato che cerco di ricavare.
Il Dominio è sempre lo Storico?
  DLookUp([Storico]![Nominativo];[Storico];[Storico]![Data
Variazione]=[MaxDiData Variazione]) And [Storico]![Matricola]=[Matricola]
o
DLookUp([Storico]!["Nominativo"]=[Nominativo];[Storico];[Storico]![Data
Variazione]=[MaxDiData Variazione])
Il messaggio di errore che mi da sempre è :
"Impossibile eseguire una query che non include l'espressione "Nominativo"
specificata come parte di una funzione di aggregazione."
Dove sbaglio ?
grazie.ciao.
--
------


--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 2).
devo essere particolarmente imbranato......ho provato almeno 20 volte, il
problema è questo :
penso di aver fatto letteralmente come tu mi hai descritto.... dopo aver
creato la seconda query ,
 scelgo i due campi della Query1 [matricola e MaxDidataVariazione e
i 4  campi dello Storico [Nominativo,Livello,Profilo,Contratto] ,
passo ad inserire il codice in  SQL Unione (?) , passo  poi  in
visualizzazione Struttura, mi esce il Box che mi chiede di inserire la "data
variazione" io scrivo 30/06/2002 esce il foglio dati con tutti i record
dello storico, tento poi di passare in visualizzazione struttura e mi esce
un  box di errore che dice :
Impossibile rappresentare l'espressione join
Query1.MaxDiDataVariazione=Storico,DataVariazione in visualizzazione
Struttura.
* Uno o + campi sono stati eliminati o rinominati.
* Il nome di uno o più campi o tabelle specificato nell'espressione join è
errato.
* Il join utilizza un operatore, come > o < non supportato in visulizzazione
Struttura.
Questo è l'errore , quando cerco di creare il join fra il campo
MaxDataDiVariazione della  Query1 e il campo Data Variazione dello Storico.
Tipo non corrispondente nell'espressione JOIN. (3615).Un'espressione JOIN
sta tentando di creare un join tra due tabelle su campi con tipi di dati
incompatibili. Questo errore, ad esempio, si verifica quando si tenta di
creare un join tra un campo di tipo Memo e un campo di tipo Testo.
Un altra cosa,non mi mi chiamare approfittare, ma poi ho finito tutto il
database.
Ho creato (finalmente l'ho fatta io) una tabella "Retribuzione Contratto
2001", con  i campi  ID Retribuzione(tipo contatore), Profilo, Livello,
Fascia.
Ora, sull'esempio della Data di Variazione, ho creato una casella di testo
nella maschera "Ponte". Vorrei che questa casella leggesse nella maschera
Ponte le caselle Livello(di tipo numero), Profilo(testo) e Fascia (numero) e
metta il corrispondente "ID Retribuzione"
della tabella "Retribuzione Contratto 2001".
Un'infinito. grazie.
Mi dispiace farti perdere tutto questo tempo!!!!!!!

ho approfittato troppo ?
ciao

 Mi dispiace farti perdere tutto questo tempo!!!!!!!
--


 ciao


 ha scritto nel messaggio
news:L5Ao9.3321$%M1.8...@twister2.libero.it...



Attento a non fare un britale copia incolla del codice, a causa di brutali
andate a capo sono state spaccate delle parole e sono sicuramente spariti
degli spazi; prova con
=IIf(IsNull( [Profilo] ); Null ;IIf( IsNull ( [Fascia] ); Null ; IIf (
IsNull ( DLookUp ( "[ID Retribuzione]" ; "[Retribuzione Contratto 2001]" ;
"Livello =" & [Livello] & " And Profilo='" & [Profilo] & "' And Fascia =" &
[Fascia] )); "Non esiste" ; DLookUp( "[ID Retribuzione]" ; "[Retribuzione
Contratto 2001]" ; "Livello =" & [Livello] & " And Profilo='" & [Profilo] &
"' And Fascia=" & [Fascia] ))))
Comunque se, facendo attenzione, lo riscrivi a manina santa nell'origine
controllo, č meglio.


ok

 così come le hai costruite tu: da questo si dovrebbe vedere dove sbagli.
Questi sono i campi della tabella Storico.
Nominativo ,     ID  ,      Luogo di nascita    ,       Data di nascita,
Sesso ,  Data Assunzione     ,     Livello  , Profilo ,
Lab/Sett/Ufficio/Servizio ,         Contratto     ,    Codice Fiscale ,
Al     ,    Coordinatore  ,   Titolo di studio ,  Area,    Fascia    ,
Data Ultima Fascia   ,    Matricola    ,     Data Variazione      ,
Residenza Fiscale       ,  Id  Retribuzione,  Note .
Query1
SELECT Storico.Matricola, Max(Storico.DataVariazione) AS MaxDiDataVariazione
FROM Storico
WHERE (((Storico.DataVariazione)<=#6/30/2002#))
GROUP BY Storico.Matricola;
Query2
SELECT Storico.Nominativo, Storico.Livello, Storico.Profilo,
Storico.Contratto, Storico.Al, Query1.Matricola, Query1.MaxDiDataVariazione
FROM Query1 INNER JOIN Storico ON Query1.Matricola = Storico.Matricola;
la cosa che puzza un pò come nasce quel Max ___DiDataVariazione___
ciao

 casella combinata prova a scrivere:
è proprio così
=IIf(IsNull([Profilo]);Null;IIf(IsNull([Fascia]);Null;IIf(IsNull(DLookUp("[I
D]";"[Paga]";" Livello =" & [Livello] & " And Profilo=" & [Profilo] & " And
Fascia=" & [Fascia]));"Non esiste";DLookUp("[ID]";"[Paga]";"Livello =" &
[Livello] & " And Profilo=" & [Profilo] & " And Fascia=" & [Fascia]))))
provato + volte, ma non va...x abbreviare ho cambiato
Id Retribuzione                             in ID
e Retribuzione Contratto 2001       in Paga
(ovviamente ho rinominato il campo e la tabella)
Con la casella combinata, scelgo il Nominativo del Dipendete, ed ovviamente
le caselle Profilo, Livello e Fascia cambiano,
Il risultato nella casella di testo creata è :
o completamente bianca  per che ha il valore 0 nella fascia ;
o #Errore per i dipendenti che hanno un qualsiasi  valore nella fascia
(esempio 1, 2 o 3 ecc )
ciao

 ciao


 ciao


 Storico.DataVariazione) AND (Query1.Matricola = Storico.Matricola);
   ho fatto letterale come dici, ecco cosa succede ricostruzione a video :
*   escono i due box che mi chiedono di immetere la data di variazione, e
della data di decorrenza;
*   esce il foglio dati che mi visualizza cmq tutti i record della mia
tabella Storico (qualunque data immetta)
*   se dal foglio dati, voglio passare in visualizzazione Struttura, mi esce
il box di errore :
*   Impossibile rappresentare l'espressione join
Query1.MaxDiDataVariazione=Storico,DataVariazione in visualizzazione
Struttura.
*Clicco su Ok
* Ora esce la griglia con : Il riquadro di Query1 e Storico ( il join e solo
su Matricola da Query1 a Matricola Storico).
   Nella griglia c'è un solo campo Storico *;
                                        Tabella Storico
Ora io immaggino che quando si verifica l'errore, si "cancelli" quello
scrivo in Sql, giusto ? Quindi......
  *  Ho creato il join tra Matricola (query1) e Data Variazione (Storico)
  *  Aggiungo i campi della Query1 alla griglia e il solo campo Nominativo
dello Storico
  *  Qualunche data immetta non mi esce un solo record.
        Secondo te x il 2004 c'è la faccio ? :)
ciao !
p.s.
x l'altra questione, ho deciso di "sospendere la questio".......un
"manicomio" alla volta
forse è meglio, anche x salvaguardare  2 integrità :
* quella fisica del mio computer ;
* la mia mentale :)

 * la mia mentale :)
Decidi tu.


ok...scusa.......

O sbaglio?
mi sembra giusta la tua affermazione, ho quindi messo una casella combinata
che
legge nella tabella Paga e mi memorizza il valore nell'ID retribuzione.
Mi sembra l'unica soluzione possibile, anche se il database  56 Id
retribuzioni diverse è facile sbagliarsi.
Immaggino che è possibile imporre dei "blocchi", ma prima di decidere la
soluzione definitiva, visto che mi hanno chiesto di calcolare anche i
"passaggi di fascia", che sono legati alla retribuzione, ho deciso un'attimo
di fermarmi, in attesa che mi spieghino come effettivamente si calcolano.
ciao.
p.s.
ti lascio un pò in pace .
 Lunedi e Martedi ho il corso Prevenzione Incendi !!

         Secondo te x il 2004 c'è la faccio ? :)
[...]
    Io mi auguro ci sia almeno la bonino.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------