Mám trable s importem dat z excelu do accessu pomocí VBA. Kód je následující:
Sub ImportXLS()
Dim db As DAO.Database
Set db = CurrentDb
On Error Resume Next: db.TableDefs.Delete "Helios_testImport": On Error GoTo 0
db.TableDefs.Refresh
DoCmd.TransferSpreadsheet _
TransferType:=acImport, _
SpreadsheetType:=acSpreadsheetTypeExcel9, _
TableName:="Test1", _
FileName:="C:\Poducty\Poducty.xlsx", _
HasFieldNames:=False, _
Range:="List1!A2:F"
db.TableDefs.Refresh
CurrentDb.TableDefs("Test1").Fields("F1").Name = "Nazev"
CurrentDb.TableDefs("Test1").Fields("F2").Name = "CisloRS"
CurrentDb.TableDefs("Test1").Fields("F3").Name = "CisloPoductu"
CurrentDb.TableDefs("Test1").Fields("F4").Name = "Mena"
CurrentDb.TableDefs("Test1").Fields("F5").Name = "Zustatek"
CurrentDb.TableDefs("Test1").Fields("F6").Name = "Platnost"
CurrentDb.TableDefs("Test1").Fields("F7").Name = "JistotaCM"
db.TableDefs.Refresh
db.Close: Set db = Nothing
End Sub
Zjistil jsem ale, že excel obsahuje duplicitní hodnoty na primárním klíči, nevalidoní hodnoty mají Platnost = "Ne". Je možné v rámci tohoto kódu jednoduše zamezit načtení řádků, kde je platnost Ne, nebo vytvořit makro na mazaní takových řádků ještě před spuštěním této části kódu?