Your SQL statement has Me.txtreqno twice. The first occurrence is incorrect, it should provide the value for datereceived. And date values should be enclosed in #, not in '. For example:
CurrentDb.Execute "INSERT INTO tbl_RMU-GRN(stockcode, datereceived, RequestOrderNumber, materialname, uom, type, batchorlot, CSB, QTYReceived, QTYPerUOM, QTY, ipfcode, receivedby, department, MFD, expireddate, imagepath, supplier, Original, remarks)"
& _
"VALUES ('" & Me.txtcode & "',#" & Format(Me.txtDateReceived, "mm/dd/yyyy"( & "#,'" & Me.txtreqno & "','" &
Me.txtmaterialname & "','" & Me.txtuom & "','" & Me.txttype & "','" & Me.txtbatch & "','" & Me.txtCSB & "','" & Me.txttotalqty & "','" & Me.txtqtyperuom
& "','" & Me.txtqty & "','" & Me.txtIPFcode & "','" & Me.txtreceivedby & "','" & Me.txtdept & "','" & Me.txtmfd & "',#" & Format(Me.txtExpiredDate,
"mm/dd/yyyy") & "#,'" & Me.txtimagepath & "','" & Me.txtsupplier & "','" & Me.txtoriginal & "','" & Me.txtremarks & "')"
where txtDateReceived is the text box containing the value for datereceived.
Regards, Hans Vogelaar (http://www.eileenslounge.com)