我需要自动增量NroFattura和AnnoFattura(这是报告的年份):
我不知道如何使用C#或Access设置。 我想NroFattura就像n = n + 1 和AnnoFattura就像n =现在一年(功能) 我背后有一个winform(C#)
答案 0 :(得分:0)
如果你有一个简单的场景,那时只有一个用户使用数据库,那么只需找到在特定年份为FatturaNro
插入的最高值
string query = "SELECT MAX(FatturaNro) FROM yourTableName WHERE AnnoFattura=?";
OleDbCommand cmd = new OleDbCommand(query, connection);
cmd.Parameters.AddWithValue("@p1", DateTime.Today.Year);
object result = cmd.ExecuteScalar();
int newInvoiceNumber = (result == null ? 1 : Convert.ToInt32(result)+1);
答案 1 :(得分:0)
访问自动增量设置不适合此类操作。如果删除项目,计数仍将计数。例如,如果您有20个项目,删除2,则计数在下一次插入时仍将移至21。自动增量字段应该用作记录的唯一ID,而不是“行号”。
您可以为唯一索引添加新列,因此可以进行行特定编辑。 在C#代码中计算NroFattura很容易。使用正确的值对最终插入字符串进行整形并运行它。