Tag: 自动编号

Ms Access,使用Excel修改表格; 处理ID自动编号

TLDR:我在问题的最后总结了这个长期的问题。 我的公司正在使用正确设置关系,PK和FK的Ms Access数据库。 我有时必须对表进行重大修改(添加字段,进行列操作,你知道,我相信只有Excel可以做的东西:string操作(左,右等),索引/匹配(VLOOKUPS),自动填充领域等… 我所做的就是将表格导出到Excel中进行修改。 当我完成后,我的问题就出现了,我想导入表格。 我遇到了Access ID中的ID和AutoNumberfunction问题。 当我导入表时,我不能使用以前的ID列,必须做一个新的,以便我可以获得一个工作自动编号ID列。 问题是,如果logging的顺序或logging的数量发生了变化(即,如果某些logging被删除),那么新的自动生成的ID将不会与旧的相同,从而产生问题与我的关系。 FKs不会指向正确的PKs了。 我试图寻找解决这个问题的方法,但没有find任何东西,好像没有其他人有这个问题。 我想我可能做得不对。 短版本:当我导出表Access-Excel时,PK / FK问题。 在导入过程中,我不能重复使用我的初始PK列作为自动编号,因此我创build一个新的ID自动编号列,导致一些ID将会改变的问题,创build与FKs(关系)的问题。

Excel VBA:自动编号

我正在Excel上创build一个数据库,并遇到一些问题,因为我试图给每行分配自动编号。 要求是: 当列B不为空时,为每一行(列A)生成自动编号。 该数字应该是唯一的,并且即使在列被sorting或插入新行时也必须始终连接到同一行的内容。 当插入一个新的行时(同一列的任何地方),应该分配一个新的数字(最新的数字应该是最大的数字)if 可能的话,自动号码应该有一个前缀,号码应该显示在四个数字(例如0001,0011) 我已经尝试了一些VBA代码,我发现从其他人的问题(例如Excel VBA:自动生成每行的唯一编号 )。 到目前为止,下面的代码运行得最好,但是这个代码不能解决(3)和(4)的要求。 Private Sub Worksheet_Change(ByVal Target As Range) Dim maxNumber If Not Intersect(Target, Range("B:B")) Is Nothing Then ' don't run when more than one row is changed If Target.Rows.Count > 1 Then Exit Sub ' if column A in the current row has a value, don't run […]