Niente.
E' da ieri sera che ci provo ma non riesco a farla funzionare. Se potete darmi una mano.
Se la tabella è vuota la query di accodamento funziona, ma se c'è dentro un valore mi restituisce sempre 'già presente'.
Ecco il codice:
Me.Refresh
If DCount("*", "REGISTROManutenzione", "IMPIANTO AND 'ID_Impianto' AND 'Attività_Manutentiva' AND 'Da_effettuare_il'") = 0 Then
DoCmd.OpenQuery "creaREGMANFM", acViewNormal, acEdit
Else
MsgBox "GIA' PRESENTE"
End If
Il refresh l'ho inserito perché attivando da una maschera voglio essere sicuro che il valore sia stato registrato in tabella.
Qui il codice della query:
INSERT INTO REGISTROManutenzione ( Cliente, Immobile, [ID Impianto], [TIPO DI ATTIVITÀ], [Attività Manutentiva], FREQUENZA, IMPIANTO, [Data di creazione], FrequenzaGG, [Da Effettuare il] )
SELECT CENSIMENTOForzaMotrice.Cliente, CENSIMENTOForzaMotrice.Immobile, CENSIMENTOForzaMotrice.ID, [Attività MANUTENTIVE].[TIPO DI ATTIVITÀ], [Attività MANUTENTIVE].ATTIVITÀ, [Attività MANUTENTIVE].FREQUENZA, CENSIMENTOForzaMotrice.IMPIANTO, Now() AS Expr1, Frequenze.FrequenzaGG, DateAdd("d",[Frequenze]![FrequenzaGG],Date()) AS Expr2
FROM Frequenze INNER JOIN (CENSIMENTOForzaMotrice INNER JOIN [Attività MANUTENTIVE] ON CENSIMENTOForzaMotrice.IMPIANTO = [Attività MANUTENTIVE].IMPIANTO) ON Frequenze.FREQUENZA = [Attività MANUTENTIVE].FREQUENZA
WHERE (((CENSIMENTOForzaMotrice.ID)=[Forms]![CENSIMENTO FORZA MOTRICE]![ID]));
Il database è strutturato in questo modo:
Nelle Tabelle di CENSIMENTO (una tabella per ogni tipo di impianto) vengono registrati tutti i parametri degli impianti, mentre nella tabella attività manutentore vengono inserite le manutenzioni da eseguire che sono differenziate in base alla tipologia di impianto (Quadri elettrici, Illuminazione, etc.. Le manutenzione sono cicliche e da eseguire a scadenze regolari, tipo mensile, semestrale, etc..).
La query crea il REGISTRO DI MANUTENZIONE dove ci sono attività da eseguire e attività già eseguite.
Per evitare il record venga duplicato ho bisogno di verificare 4 campi..