Buongiorno @Alex,
premesso che il DB PostgreSQL non e' stato fatto da me ma acquistato da una softwarehouse ("a scatola chiusa..."), ho testato la tua soluzione ma l'errore e' sempre lo stesso.
Di seguito posto il codice VBA del pulsante che dovrebbe eseguire la query (ho evidenziato la riga di errore del debug):
Private Sub frmGMcmdesegui1_Click()
On Error GoTo Err_frmGMcmdesegui1_Click
Dim myq As DAO.QueryDef
Dim rst As Recordset
Set myq = CurrentDb.QueryDefs("ABQueryProva")
myq.Parameters("chiave") = Me.frmGMOPselezionemacchina.Value
myq.ReturnsRecords = True
Set rst = myq.OpenRecordset
rst.Close
Set myq = Nothing
Exit_frmGMcmdesegui1_Click:
Exit Sub
Err_frmGMcmdesegui1_Click:
MsgBox Err.Number & " " & Err.Description
Resume Exit_frmGMcmdesegui1_Click
End Sub
Siccome nel DB Postgre c'e' un'altra tabella che si chiama acquisitions e che contiene campi analoghi alla tabella events, ho fatto lo stesso test su quella tabella con la seguente query PT:
PARAMETERS Chiave as Long;
SELECT machine_id, order, program FROM [public.acquisitions] where machine_id=[Chiave]
Ma da' lo stesso errore della query precedente nello stesso punto.
Ho inoltre testato la query da te suggerita pero' senza il parametro (giusto per verificare se la stringa di connessione funzionava):
SELECT machine_id, order, start_time, duration, program FROM [public.events] where machine_id='1'
E' mi da' errore: ODBC: chiamata non riuscita. Errore di sintassi a o presso "order". Error while executing the query (#1)
Mentre se la stringa SQL la scrivo nel modo seguente viene eseguita correttamente:
SELECT public.events.machine_id, public.events.order, public.events.program FROM public.events where public.events.machine_id='1'
Quindi ipotizzo che public.events non possa essere il problema...
Anche la query eseguita sull'altra tabella con la seguente stringa SQL funziona correttamente:
SELECT public.acquisitions.machine_id, public.acquisitions.order, public.acquisitions.program FROM public.acquisitions where public.acquisitions.machine_id='1'
Ma se metto il parametro da' sempre l'errore: "Elemento non trovato in questa raccolta"