Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Michael ah am November 14, 2010, 19:55:26

Titel: Excell workbook aus access schließen
Beitrag von: Michael ah am November 14, 2010, 19:55:26
Hallo Leute,

ich hab da ein kleines problem beim schließen von Excell:

    oexcel.Workbooks.Open [Pfad_XLS_4]
    oexcel.ActiveWorkbook.Sheets("Labor").Select
    oexcel.ActiveSheet.Cells(1).Select
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Imp_4_2_2", [Pfad_XLS_4], False, "Labor!B81:J176"
    oexcel.SaveWorkspace False
    oexcel.Workbooks.Close

beim zweiten aufruf dieser Prozedur bekomme ich das fenster

"eine Datei mit dem Namen'FALSE.xlwx' ist bereit vorhanden"

kann man das speichern verhindern oder abschalten?

lg Michael
Titel: Re: Excell workbook aus access schließen
Beitrag von: DF6GL am November 14, 2010, 20:24:40
Hallo,

unabhängig von dem Mischmasch aus Automation und Transferspreadsheet:


Bist Du sicher, dass die Excel-Datei "False" heißen soll...?

Ich denke mal, Du hast die Parameter-Reihenfolge durcheinander gebracht, bzw. einen ausgelassen....
Titel: Re: Excell workbook aus access schließen
Beitrag von: Michael ah am November 14, 2010, 20:29:18
aus meiner sicht soll das false dafür sorgen das nicht gespeichert wird
Titel: Re: Excell workbook aus access schließen
Beitrag von: Michael ah am November 14, 2010, 20:41:42
mein ursprüngliches Problem liegt darin
das beim import des Excel Sheets, wenn der Curser nicht in der ersten Zeile ist
der Import an dieser stelle beginnt und den rest unten anfügt
dies passiert nicht immer -- warum?
durch die Zeilen 2 und 3 Positioniere ich im sheet das feld
dadurch wird der fehlerhafte import stark reduziert

mit dank im vorraus
michael
Titel: Re: Excell workbook aus access schließen
Beitrag von: Jonny am November 15, 2010, 11:34:17
Hallo,
durch das False hast Du den Namen der Datei angegeben und nicht die Frage nach Datei ersetzen unterdrückt. Ich meine das nur
ein Komma vor dem False fehlt.
Konnte es aber nicht testen.

Gruß
Johann
Titel: Re: Excell workbook aus access schließen
Beitrag von: DF6GL am November 15, 2010, 12:59:25
Hallo,,

das False steht beim "HasFieldNames"-Parameter und hat nichts mit Speichern zu tun.


Die eigentliche Unklarheit liegt aber am Inhalt des Feldes (??)   [Pfad_XLS_4] , das beim "Filename"-Parameter steht und den kompletten (!) PfadDateinamen der xls-Datei enthalten muß (nicht nur den Pfad, wie die Namensgebung vermuten läßt).


"dies passiert nicht immer -- warum?"

habe ja schon auf den "Mischmasch" hingewiesen...   Beide Zugriffarten haben nichts miteinander gemein und können auch nicht synchronisiert werden. 
Titel: Re: Excell workbook aus access schließen
Beitrag von: Jonny am November 15, 2010, 13:08:00
Hallo meine Antwort bezog sich auf das Speichern mit
oexcel.SaveWorkspace False

Wie kann beim acImport denn der Dateiname vergeben werden?

Hier kann man doch nur die falsche Datenquelle auswählen.

Gruß
Johann
Titel: Re: Excell workbook aus access schließen
Beitrag von: DF6GL am November 15, 2010, 13:13:06
Hallo,

ok, mit SaveWorkspace   ;)



ZitatWie kann beim acImport denn der Dateiname vergeben werden
???

auch beim Import von XLS-Daten in eine Access-Tabelle braucht man die Angabe der Excel-Datei (des Excel-Dateinamens).




Titel: Re: Excell workbook aus access schließen
Beitrag von: Jonny am November 15, 2010, 13:21:33
Natürlich muss man den Dateinamen haben.
Aber meine Frage war eigentlich wie es zu der Meldung "eine Datei mit dem Namen'FALSE.xlwx' ist bereit vorhanden" beim
acImport kommen kann.

Das Problem liegt meiner Meinung nach beim Speichern der Excel-Datei durch den Mischmasch von Acc und Excel in der Routine.

Gruß
Johann

Titel: Re: Excell workbook aus access schließen
Beitrag von: DF6GL am November 15, 2010, 13:30:05
ja, meine ich auch  :D


Es ist auch möglich, dass Excel beim zweiten Mal noch nicht wieder richtig geschlossen wurde...

Am Codefragment jedenfalls sieht man nicht, was sonst alles passiert..
Titel: Re: Excell workbook aus access schließen
Beitrag von: Michael ah am November 15, 2010, 22:52:13
Hallo

erstmal Danke für die Mühe

im [Pfad_xls_4] steht der Komplette Pfad incl. Datei mit Endung

    oexcel.Workbooks.Open [Pfad_XLS_4]
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "Imp_4_2_2", [Pfad_XLS_4], False, "Labor!B81:J176"

bei diesem Code Kommt es unverhoft und auch nicht bei jeder Datei zu einem fehler:
es wird "ab selektierter zeile(feld) importiert und im Anschluß der rest

um dies zu definieren hatte ich mir A1 zu setzen

   oexcel.ActiveWorkbook.Sheets("Labor").Cells(1).Select

und am schluß zu schließen

   oexcel.Workbooks.Close

darauf bekomme ich die meldung" möchten sie Speichern"

und so kam der rest

Gruß
Michael
Titel: Re: Excell workbook aus access schließen
Beitrag von: Jonny am November 16, 2010, 08:54:53
Hallo,

scheinbar liegt das Problem wirklich bei Excel.

Frage: Kannst Du nicht in der Excel-Tab den zu importierenden Bereich mit einen Namen versehen?
Wenn ja dann entfällt der gesamte Excel-Kram da man beim Import auch mit dem benannten Bereich arbeiten kann.
Ich würde einfach den Bereich so groß machen das die maximal Anzahl Zeilen importiert werden. Danach kannst Du
dann im Acc die Leerzeilen einfach löschen.

Jetzt kenne ich nicht Deine Anwendung aber ist sicherlich eine Überlegung wert.

Gruß

Johann