Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fehler beim Exportieren

Begonnen von Debus, September 25, 2024, 11:23:30

⏪ vorheriges - nächstes ⏩

Debus

Hallo, ich bekomme in meiner DB auf einmal eine Fehler, den ich mir nicht erklären kann.
Vor zwei Wochen lief es noch. Dann war ich nicht da und nun rufe ich die DB wieder auf und erhalte in einem Module einen Fehler. Geändert wurde an dem Module oder der DB nichts!!

Fehler siehe Anhang.

Ich habe aber keine Datei die mit #csv endet, sondern mit .csv

Die Tabellen sind alle OK und auch die finale Tabelle für den Export ist Ok und vollständig.

Erzeugen mache ich wie folgt





strFileFrom = \\do1s9046\IIQ-BS2000-Prod$\VE.W.VBS202.05
Pfad = Left(strFileFrom, InStrRev(strFileFrom, "\"))
DName = Split(strFileFrom, "\")(UBound(Split(strFileFrom, "\")))

Dateieigenschaften = SHGetPropertyString(strFileFrom, "System.DateModified")

strFileTo = Pfad & "05vp.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile strFileFrom, strFileTo


For Each tbl In CurrentDb.TableDefs
    If tbl.Name = "05vp-bak" Then
        DoCmd.DeleteObject acTable, "05vp-bak"
    End If
Next tbl

DoCmd.CopyObject , "05vp-bak", acTable, "05vp"
DoCmd.DeleteObject acTable, "05vp"


DoCmd.TransferText transferType:=acImportDelim, SpecificationName:="05tevp", TableName:="05vp", FileName:=strFileTo, hasfieldnames:=True


For Each tbl In CurrentDb.TableDefs
    If tbl.Name = "05vp-bak" Then
        DoCmd.DeleteObject acTable, "05vp-bak"
    End If
Next tbl
Kill strFileTo
  DoCmd.SetWarnings False
        Dim sfilename As String
        sfilename = \\do1s9046\IIQ-BS2000-Prod$\BTypen_IGA.csv
        DoCmd.OpenQuery "abftevp2_ht"
        DoCmd.OpenQuery "abftevp2"
       
       
        DoCmd.TransferText transferType:=acExportDelim, SpecificationName:="tevp2", TableName:="tevp2", FileName:=sfilename, hasfieldnames:=False





Der Fehler kommt dann hier:


DoCmd.TransferText transferType:=acExportDelim, SpecificationName:="tevp2", TableName:="tevp2", FileName:=sfilename, hasfieldnames:=False
Hat da einer eine Idee? 

Auch wenn ich es lokal abspeichern will kommt der gleiche Fehler


Danke
Holger


Debus

Nur mal zur Info noch. Ich habe es umgeschrieben auf rein lokal, aber der macht immer aus dem Punkt vor dem Suffix des Dateinamens ein "#".

Ich weiß echt gerade nicht weiter

Danke
Holger

Beaker s.a.

Hallo Holger,

Wenn du String-Variable deklarierst, musst du auch Strings an sie
übergeben
strFileFrom = "\\do1s9046\IIQ-BS2000-Prod$\VE.W.VBS202.05"
.
sfilename = "\\do1s9046\IIQ-BS2000-Prod$\BTypen_IGA.csv"

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Debus

Hallo Ekkehard,

1. warum ging es bis jetzt immer habe ja nichts geändert und
2. wenn ich beim Debuggen mit der Mouse drüber fahre, wird mir das richtige angezeigt.

Was müsste ich denn da ändern?

Danke
Holger

Knobbi38

Hallo Holger,

du solltest keinen $ Zeichen in einem Pfad verwenden.

Debus

Hallo knobbi,

die werden so vom Admin vergeben. Aber wie gesagt ging bisher immer und lokal geht es jetzt auch nicht mehr.

Ich weiß echt nicht weiter warum das auf einmal so ist.

Holger

Knobbi38

Das kann ja sein, aber ein $ Zeichen hinter einem Ordnernamen kennzeichnet eine administrative Freigabe. So ein Zugriff muß erstmal in der Registry freigeschaltet werden. Vielleicht auch ein Grund dafür, daß es schon mal ging und mit einem SicherheitsUpdate nun nicht mehr.

Also hau' deinem Admin mal auf die Finger und fordere von ihm, eine "richtige" Freigabe dafür bereitzustellen.

Wenn du auf lokalen Pfad umgestellt hast, bitte nicht "C:\", dann kannst du versuchen, die Spezifikation nochmal neu anzulegen. Vielleicht hilft das ja.

Gruß



Debus

Der Fehler kommt aber auch genauso, wenn ich folgendes schreibe:

sfilename = "C:\Users\Holger-Büro\BS\Test.txt"
Auch da wird das .txt zu #txt

Holger

Knobbi38

Ja klar, denn ein Objektname darf keinen Punkt enthalten. Für interne dyn. angelegte Objekte wird darum sicherlich das Hash-Zeichen als Alternative verwendet.
 

Debus

Ja aber es ist doch kein Objekt sondern der Dateinamen. Wenn ich den Suffix und Punkt weglasse, meldet sich der Fehlerteufel mit es ist kein gültiger Dateiname also muss da wohl der Punkt hin.

Debus

Wenn ich das im Direktfenster mit anzeigen lassen

Debug.Print sfilename
kommt auch das richtige raus also kein #

Holger

Debus

Hallo,

ich habe mal die Export Spezifikation neu gemacht (genauso wie vorher) aber nun geht es wieder.

Danke trotzdem an alle.

Holger