Late to the party again. This is your output if using the suggested method (I wrapped the line after Credit) to make it easier to read):
INSERT INTO tblAccountLedger (TransactionID, TransTypeID, TransCode, TransDate, AccountID, Description, Method, Credit,)
VALUES (2, 1, T495867, #10/26/21#, 2, 'test', 1, 500)
Hopefully you would have spotted the issue immediately, but it has already been pointed out for you. You also have a trailing , after Credit. I guess it doesn't matter. If you have a whole lot of similar sql, suggest you assign the repeating/common parts to variables and concatenate them. Say what follows is the only common part. Rather than typing this umpteen times
Code:
"VALUES (" & TransactionID & ", " & cboTransType & ", " & TransCode & ", #" & TransDate & "#, " & cboToAccount & ", '" & Description & "', " & cboTransMethod & ", " & TransAmount & ")"
do it once and concatenate
Code:
strValuePart = "VALUES (" & TransactionID & ", " & cboTransType & ", " & TransCode & ", #" & TransDate & "#, " & cboToAccount & ", '" & Description & "', " & cboTransMethod & ", " & TransAmount & ")"
sql = "INSERT INTO part here " & strValuePart
Can also have parts like strSelect, strCriteria, strSortOrder and so on, that you concatenate as
sql = strSelect & strCriteria & strSortOrder
db.Execute sql, dbFailOnError for example