我刚从现有会计程序中获得了excel表,包括我们公司的所有产品。 我立刻注意到了田野" HOOFDGROEP" (转换为"类别")和" SUBGROEP" (转换为"子类别")不包括主键,而是字符串值。 我将此表导入访问权限,但现在我要制作2个单独的表,"类别"和"子类别"。这样我可以索引数据库。我使用SQL查询来提取这样的组:
INSERT INTO Hoofdgroepen
SELECT DISTINCT HOOFDGROEP
FROM Artikelen
但现在我如何快速更换所有唱片' HOOFDGROEP'将字段转换为索引值而不手动或使用find / replace?
作为一个例子,我希望尽可能快地创建一个名为hoofdgroepen的表(通过上面的查询实现):
ID HOOFDGROEP
3 Cat V
4 Contante betalingskorting
5 Diversen
出于此:
ID §kop_artikel A_ inv_ product HOOFDGROEP
238 80010077 Chappe Cat V
239 80010517 Beton per m3 Cat V
240 9799044704539 Betalingskorting Contante betalingskorting
241 9799044704537 Viszak klein Diversen
242 9799044704538 Viszak middel Diversen
然后将该表格改为:
ID §kop_artikel A_ inv_ product HOOFDGROEP
238 80010077 Chappe 3
239 80010517 Beton per m3 3
240 9799044704539 Betalingskorting 4
241 9799044704537 Viszak klein 5
242 9799044704538 Viszak middel 5
答案 0 :(得分:1)
这样的事情:
Dim sSQL As String
Dim db As Database
Set db = CurrentDb
sSQL = "SELECT t.HOOFDGROEP INTO HOOFDGROUP " & _
"FROM aTable t " & _
"GROUP BY t.HOOFDGROEP;"
db.Execute sSQL, dbFailOnError
sSQL = "ALTER TABLE HOOFDGROUP ADD COLUMN ID AUTOINCREMENT"
db.Execute sSQL, dbFailOnError
sSQL = "SELECT t.ID, t.[§kop_artikel], t.[A_ inv_ product], HOOFDGROUP.ID INTO " & _
"aNewTable " & _
"FROM aTable t INNER JOIN HOOFDGROUP ON t.HOOFDGROEP = HOOFDGROUP.HOOFDGROEP;"
db.Execute sSQL, dbFailOnError
根据您的需要,您可能还需要:
ALTER TABLE HOOFDGROUP ADD PRIMARY KEY(ID)