A family of Microsoft relational database management systems designed for ease of use.
You need to have the same level of granularity on both sides of the "=". Try:
=-DSum("[amount_amt]","Sales","[account_id]=145 AND Year([transaction_date_h])=Year(Now()) and Month([transaction_date_h])=Month(Now())")
I believe you could also use
=-DSum("[amount_amt]","Sales","[account_id]=145 AND Format([transaction_date_h],'YYYYMM')=Format(Date(),'YYYYMM')")
If the record source of the report is "Sales" you should be able to use something like:
=Sum([amount_amt] *([account_id]=145 AND Format([transaction_date_h],"YYYYMM")=Format(Date(),"YYYYMM") ) )