Problema con Dmin e query aggiornamento

di Anonimizzato14833 il
7 risposte
Ciao a tutti,

ho due tabelle, una che tiene conto della macchina ([20 Macchine]) ed un'altra di tutte le attivita che servono per relizzarla ([30 attivita macchine]).

Nella prima tabella ([20 Macchine]) ho bisogno di inserire due campi [data_inizio] e [data fine] che sono dati dal valore data massimo e minimo delle attivita che servono per realizzarla.

Ho fatto quindi una query di aggiornamento scrivendo:
CDate(DMin("Data_Inizio";"[30 attivita macchine]";"Id_macchina_riferimento ='" & [20 Macchine].[ID] & "'"))
ma non va, mi dice "errore di conversione tra tipi" se scrivo solo
CDate(DMin("Data_Inizio";"[30 attivita macchine]"))
la query funziona ma ovviamente mi prende il valore minimo di tutto e non raggruppandomelo per macchina.

Id_macchina_riferimento è un numerico lungo
[20 Macchine].[ID] è un numerico lungo dato da numerazione automatica

Le query di selezione fatte attraverso questi campi funzionano senza problemi, questa di aggiornamento no, idee sul perche o come eseguire questa somma?

7 Risposte

  • Il campo ID è numerico non testo.... e tu stai formattando il criterio come testo usando gli apicetti.
  • Grazie mille Alex, funziona!

    non riuscivo a capire dove sbagliavo, non avevo proprio pensato agli apici.

    Mi sono pero accorto di sommare anche campi che non mi interessano (tipo data inizio progettazione ecc) quindi vorrei inserire una seconda condizione, ho trasformato la formula in:
    CDate(DMin("Data_Inizio";"[30 attivita macchine]";"[Id_macchina_riferimento] = " & [20 macchine].[ID] And "[N° Operazione] = " & 10))
    [N° Operazione] è sempre un numerico ma evidentemente non accetta la condizione "And", è possibile dare un doppio criterio a Dmin?
  • UPDATE

    Sono riuscito a risolvere, era un problema di sintassi, quella corretta era :
    CDate(DMin("Data_Inizio";"[30 attivita macchine]";"[Id_macchina_riferimento] = " & [20 macchine].[ID] & " AND [N° Operazione]=10"))
  • Riprendo il tread perche ora ho tre condizioni da considerare e quindi ho scritto:
    CDate(DMax("[Data Fine prevista]";"[30 attivita macchine]";"[Id_macchina_riferimento] = " & [20 macchine].[ID]& " AND [N° Operazione]=20" & " OR [N° Operazione]=30"))
    
    
    CDate(DMax("[Data Fine prevista]";"[30 attivita macchine]";"[Id_macchina_riferimento] = " & [20 macchine].[ID] & " AND [N° Operazione]=20" OR & [20 macchine].[ID] & " AND [N° Operazione]=30"))
    
     
    CDate(DMax("[Data Fine prevista]";"[30 attivita macchine]";"[Id_macchina_riferimento] = " & [20 macchine].[ID] & " AND [N° Operazione]=20" OR "[Id_macchina_riferimento] = " & [20 macchine].[ID] & " AND [N° Operazione]=30"))
    In sostanza il n° operazione ora puo essere 20 o 30, pero facendo cosi non mi considera [Id_macchina_riferimento] = [20 macchine].[ID], dove sbaglio?
  • Conosci l'algebra di BOOL...? Dovresti studiarla.
    Se non metti le parentesi giuste mi pare ovvio.
    La sintassi che ralizza quello che chiedi è questa
    
    Condizione1 AND (Condizione2 OR Condizione3)
    P.S. ti suggerisco di riflettere sui NOMI che assegni ai campi /controlli ed oggetti vari... lo SPAZIO è un carattere speciale e, per chi programma, va evitato.
  • @Alex ha scritto:


    Conosci l'algebra di BOOL...? Dovresti studiarla.
    Se non metti le parentesi giuste mi pare ovvio.
    La sintassi che ralizza quello che chiedi è questa
    
    Condizione1 AND (Condizione2 OR Condizione3)
    P.S. ti suggerisco di riflettere sui NOMI che assegni ai campi /controlli ed oggetti vari... lo SPAZIO è un carattere speciale e, per chi programma, va evitato.
    Perfetto, sono riuscito a farla andare, sullo studio hai perfettamente ragione ma al solito questi sono lavori fatti senza riconoscimenti e dovendoti occupare di altre 100 cose allo stesso tempo...

    PS. sto usando l' "_" attualmente, puo provocare problemi a tuo avviso?
  • bean_bandit ha scritto:


    ...
    Perfetto, sono riuscito a farla andare,
    Sei...? Sono riuscito...

    bean_bandit ha scritto:


    sullo studio hai perfettamente ragione ma al solito questi sono lavori fatti senza riconoscimenti e dovendoti occupare di altre 100 cose allo stesso tempo...
    Si ma la pappa pronta non va bene.

    bean_bandit ha scritto:


    PS. sto usando l' "_" attualmente, puo provocare problemi a tuo avviso?
    Va bene.
Devi accedere o registrarti per scrivere nel forum
7 risposte