ADOX / Kill / Zugriffsrechte

TK9

Grünschnabel
Hallo, ich programmiere gerade eine Anwendung in der eine prozedur habe, mit der ich eine neue access-mappe erstelle *hab ihr die endung flpa verpasst*…das dumme ist, dass ich das beliebig oft hintereinandern machen will *wie etwa in word ein neues dokument*…das wollte ich wie folgt loesen:
Dim catalogname As String

Dim catalog As ADOX.Catalog = New ADOX.Catalog()

If IO.File.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location) & "\Neues Projekt.flpa") = True Then
Kill(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location) & "\Neues Projekt.flpa") '... wird sie gelöscht

End If

catalogname = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location) & "\Neues Projekt.flpa"

catalog.Create(catalogname)

catalog = Nothing

…funzt aber leider net, da er mir bei der KILL anweisung den fehler bringt, das noch irgendwetwas auf die datei zugreift *er erstellt noch eine schreibgeschuetzte .lpa datei*


Hat irgendjemand eine Idee wie ich dieses Problem loesen kann?

Vielen Dank *suche echt schon ewigkeiten nach ner loesung:(*

Gruss
Tobi
 
Hallo Tobi!

[Edit]
Willkommen im Forum! :)
[/Edit]

Erst mal eines vorweg System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location)
ist äquivalent zu Application.StartupPath. ;)

Weiterhein haben wir hier die unterschiedlichsten Arten von Codeformatierungen zur Verfügung.
Tagebuch zur tutorials.de v.6 - Entwicklung hat gesagt.:
actionscript, ada, apache, asm, asp, bash, c, c_mac, caddcl, cadlisp, cpp, csharp, css, d, delphi, diff, div, eiffel, gml, html4strict, java, javascript, lisp, lua, matlab, mpasm, nsis, objc, oobas, oracle8, pascal, perl, php-brief, python, qbasic, smarty, sql, vb, vbnet, vhdl, visualfoxpro, xml
Verwendet wird es so: [Sprache] Inhalt [/Sprache]

Und was soll denn Kill für eine Methode sein? Sorry ich mach nicht so viel mit VB aber nicht mal meine Doku im VS kennt sie. :confused:
System.IO.File.Delete sollte eigentlich das sein was Du benötigst.

Weiterhin musst Du dafür sorgen, dass die Files nicht mehr von anderen Prozessen/Anwendungen verwendet werden,
wenn Du auf sie zugreifen oder sie löschen willst. Kann also sein das dein DB File noch geöffnet ist...
 
Zuletzt bearbeitet:
Christian Kusmanow hat gesagt.:
Erst mal eines vorweg System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location)
ist äquivalent zu Application.StartupPath. ;)
Das ist nicht ganz korrekt, siehe Zitat aus der MSDN:
Gets the assembly that contains the code that is currently executing.
 

Neue Beiträge

Zurück