Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Excel Import per VBA

Begonnen von Michael58, Januar 30, 2024, 20:11:50

⏪ vorheriges - nächstes ⏩

Michael58

Guten Abend!
Ich war ewig nicht mehr da, und fange jetzt wieder an, mein altes Hirn zu bemühen.
Mein Problem:
Ich möchte eine Excel-Tabelle in Access importieren und zwar per VBA.

Privat Sub
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "ball_tbl_Ehrengäste", "D:\.....xlsx"
End Sub

Funktioniert!
Aber ich habe ein Formular mit einem Textfeld zur Auswahl des Pfades gemacht (funktioniert), aber wie bekomme ich den Wert des Textfeldes in die Prozedur?

Formularname: ball_frm_ImportEhrengäste
Button der die Prozedur startet
Feldname: ImportExcel
Stehe seit 2 Tagen auf der Leitung.

Danke und LG aus Wien
Michael

MzKlMu

Hallo,
einfach den feldnamen verwenden.

Privat Sub
   DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "ball_tbl_Ehrengäste", Me.ImportExcel
End Sub

Wenn ImportExcel der Feldnamen des feldes mit dem Pfad ist.
Gruß Klaus

Michael58

Servus Klaus!
Dann bekomme ich einen Laufzeitfehler 3044.
D:\.. .xlsx\XLSX ist kein zulässiger Pfad. Laut Fehlermeldung hängt noch\XLSX zusätzlich am Dateinamen.

Habe ich auch auf einem 2ten PC probiert. Auf Me.ImportExcel liegt der Pfad aber korrekt.
So suche ich den Pfad:
Private Sub SuchenDialog_Click()
With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = Nz(Me.ImportExcel, "")
        .Show
        If .SelectedItems.Count Then
            Me.ImportExcel = .SelectedItems(1) & "\"
        Else
            Me.ImportExcel = ""
        End If
    End With
End Sub

Danke für Deine Hilfe
LG aus Wien
Michael

PhilS

Zitat von: Michael58 am Januar 31, 2024, 12:05:17Me.ImportExcel = .SelectedItems(1) & "\"
Wenn du in dem FileDialog explizit eine Datei auswählst, ist der Backslash am Ende falsch.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Michael58

Danke Euch beiden!!!
PhilS, dass wars! Ganz herzlichen Dank. Ich bin komplett auf der Leitung gestanden.

LG aus Wien
Michael