Hallo zusammen,
ich hab da ein problem mit den Adresse.
Die ODBC Anbindung ist extrem langsam (bei 3000 Adressen, 1-3 Minuten).
Ok, das konnte ich lösen über die API und ein erstellen eines Adressarchivs in David. Läuft sowiet auch gut.
(den Code poste kommt weiter unten, nicht schön, aber läuft)
Ein Adressarchiv mit 3000 Einträgen ist trotzdem recht langsam (mehere Sekunden zum öffnen wenn man beim erstellen von Emails auf die Suche geht).
Gibts das Abhilfe, ist das normal?
Danke
tilo
Code
Option Compare Database
Sub david()
Dim oApp As DvApi32.IApplication
Dim oAcc As DvApi32.Account
Dim oArchive As DvApi32.Archive
Dim oAddressbook As DvApi32.AddressBook
Dim oAddressItem As DvApi32.AddressItem
Dim oAddress As DvApi32.Address
Set oApp = CreateObject("DVOBJAPILib.DvISEAPI")
Set oAcc = oApp.Logon("", "", "", "", "", "AUTH")
Set oArchive = oAcc.GetArchive("Adressen/Label")
Dim i As Integer
SysCmd acSysCmdInitMeter, "Löschen", oArchive.AddressBook.Count
For i = 1 To oArchive.AddressBook.Count
oArchive.AddressBook.Item(1).AddressItem.Delete
SysCmd acSysCmdUpdateMeter, i
Next i
SysCmd SYSCMD_REMOVEMETER
Dim rst
Set rst = CurrentDb().OpenRecordset("David")
SysCmd acSysCmdInitMeter, "Kopieren", rst.RecordCount
i = 0
rst.MoveFirst
While Not rst.EOF
i = i + 1
SysCmd acSysCmdUpdateMeter, i
Set oAddressItem = oArchive.NewItem(DvApi32.DvItemTypes.DvAddressItem)
oAddressItem.DisplayName = rst!SUCHWORT
oAddressItem.FaxNumber = rst!Fax
oAddressItem.EMail = rst!EMail
oAddressItem.Company = rst!firma
oAddressItem.City = rst!ort
oAddressItem.ZipCode = rst!plz
oAddressItem.PhoneMobile = rst!mobil
oAddressItem.PhoneOffice = rst!telefon
oAddressItem.Street = rst!strasse
oAddressItem.Notes = rst!zusatz
oAddressItem.Save
rst.MoveNext
Wend
SysCmd SYSCMD_REMOVEMETER
End Sub
Alles anzeigen