Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Übertrag EXCEL in ACCESS

Übertrag EXCEL in ACCESS
11.01.2019 13:17:13
Alexander
Hallo wir haben uns einen Code geschrieben der besagt dass er eine Liste aus einer Tabelle in Access schreibt, meine Frage gibt es eine Möglichkeit das ganze noch etwas zu optimieren was die Übertragungsgeschwindigkeit angeht ?
Sub DatenInAccessDB()
Range("B22") = Now
Makro4
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
SearchEmploymentDate
Dim MsgText As String
On Error GoTo Err_Handler
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim SQL As String
sDataBaseFile = Worksheets("Setting").Cells(2, 3).Value
SQL = "Select * From " & Worksheets("Setting").Cells(2, 4).Value & " Where ID Is Null;"
Set db = OpenDatabase(sDataBaseFile)
While Worksheets("DB_Transfer").Cells(3, 1).Value  ""
SQL = "Select * From " & Worksheets("Setting").Cells(2, 4).Value & " Where ID Is Null;"
Set db = OpenDatabase(sDataBaseFile)
Set rs = db.OpenRecordset(SQL)
With rs
.AddNew
For i = 1 To Worksheets("Setting").Cells(2, 5).Value
.Fields(Worksheets("DB_Transfer").Cells(2, i).Value) = Worksheets("DB_Transfer") _
.Cells(3, i).Value
Next
.Fields("Frei20") = Worksheets("DB_Transfer").Cells(3, 25).Value
.Update
End With
Worksheets("DB_Transfer").Rows("3:3").Delete Shift:=xlUp
Worksheets("PERSONALPLANUNG").Cells(22, 2).Interior.Color = RGB(0, 255, 128)
rs.Close
db.Close
Wend
End_Handler:
Set rs = Nothing
Set db = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Call Calculate
Exit Sub
Err_Handler:
Worksheets("DB_Transfer").Cells(1, 1).Interior.Color = RGB(204, 0, 0)
msgNetzwerkfehler
Resume End_Handler
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertrag EXCEL in ACCESS
11.01.2019 13:56:35
Rob
Hi Alexander,
DAO soll ja ADO performancetechnisch überlegen sein, von daher sollte das so passen. Das einzige was mir auffällt; Du arbeitest ohne Connection String? Kenne DAO nicht aber ich würde die Access-Datenbank direkt adressieren, wenn möglich. Das könnte noch Performance bringen.
Grüße,
Rober
AW: Übertrag EXCEL in ACCESS
11.01.2019 14:08:20
Luschi
Hallo Alexander,
diese Zeile in der While-Schleife muß gelöscht werden:
Set db = OpenDatabase(sDataBaseFile)
denn sie steht ja schon vor der Schleife.
Und diese Zeile: db.Close
muß nach dem Schleifenende verschoben werden (also nach 'Wend')
So wie der Code jetzt da steht, wird bei jedem Schleifendurchlauf die Datenbank erneut geöffnet, was natürlich nicht erforderlich ist.
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige