Ik tracht aan een geïmporteerde spreadsheet een nieuwe kolom toe te voegen. Dit moet een primary key zijn. Maar krijg deze foutmelding: "Definitie van index of veldrelatie bevat ongeldige definitie van DID" (fout: 3409). Hier ontstaat de fout: .Indexes.Append idxPK. Hierbij de code.
Code:
Private Sub cmbImport_Click()
Dim sqlDelete As String
Dim sqlPK As String
If MsgBox("Let wel op: alle bewaarde gegevens gaan onherroepelijk verloren", vbYesNo, "Verwijderen van records") = vbYes Then
Dim db As Object 'late binding
Dim tdf As Object 'late binding
Dim idxPK As Object 'late binding
DoCmd.DeleteObject acTable, "Diversiteitscodes"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Diversiteitscodes", "C:\Diversiteit\Te importeren Excel\Controlerapport Diversiteitscode.xlsx", True
'toekennen van primary key
Set db = CurrentDb()
Set tdf = db.TableDefs("Diversiteitscodes")
Set idxPK = tdf.CreateIndex("PrimaryKey")
With tdf
With idxPK 'index toevoegen aan de indexcollectie van tabel
.Fields.Append .CreateField("DID")
.Primary = True
End With
.Indexes.Append idxPK
End With
Set db = Nothing
Set tdf = Nothing
Set idxPK = Nothing
End If
End Sub