If date_ghest field is date data type, why do you set it as a char?
pa_sta_gh[2] = new OleDbParameter("date_ghest", OleDbType.Char);
Use proper date format!
I'd suggest to use named parameters:
PARAMETERS [sta_pay] CHAR, [code_buyer] CHAR, [date_ghest] DATETIME;
UPDATE Ghesting SET status_pay = [sta_pay]
WHERE ((fk_code_m_buyer = [code_buyer]) AND (date_ghest = [date_ghest]));
For further information please see:
PARAMETERS Declaration (Microsoft Access SQL)[
^]