It is a really bad habit to build your SQL queries by concatenating string fields like you do.
Always do it with parameterized queries.
Thus :
con.Open();
OleDbCommand cmd = new OleDbCommand("insert into coupen(voucher,RS,Date) values(@voucher, @amount, @now)", con);
cmd.Parameters.AddWithValue("voucher", _voucher);
cmd.Parameters.AddWithValue("amount", TxtAmount.Text);
cmd.Parameters.AddWithValue("now", DateTime.Now);
int result = cmd.ExecuteNonQuery();
con.Close();
This way your code won't be prone to SQL injection attacks, and it's a little bit readable.
Hope this helps.