Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Dantenbank.mdb eine Datenbank.exe





Frage

Hai zusammen, wie kann ich aus einer Datenbank ein .exe File machen? Nicht ein Setup.exe wo dann die Datenbank.mdb vorhanden ist, sondern eine Dantenbank.exe. Mein Problem ist es, ich möchte ein File in ASCII einlesen können das, wenn ich auf das File doppelcklicke es mir das ACCESS mit dem File öffnet. Kann mir da einer helfen?? Mit dem Developer von Office kann man nur Setup.exe erstellen.

Antwort 1 von Koebi

Grüezi Isoo

Aus einer mdb kannst Du keine ausführbare exe erstellen.
Schau einmal im folgenden Thread:

https://supportnet.de/discussion/listmessages.asp?content=&recno=76375&adminrecno=23

Gruss
Köbi

Antwort 2 von normalo

Für mich etwas verwirrend Dein Anliegen.
Willst Du nun eine Datenbank öffnen oder nur Access starten?
Um Access ohne Aufruf einer konkreten Datenbank zu starten, musst Du die Msaccess.exe aufrufen.
Ein Aufruf einer xyz.mdb startet automatisch Access und öffnet diese Datenbank.

Antwort 3 von mw

hallo,
da gibt es was von microsoft und kostet ein paar tausend euro.

Antwort 4 von iso0

Danke euch allen,
ich weis nun dass es nicht möglich ist.
Also kann ich nie ein *.txt per doppelcklich aufmachen, so dass es mir das File in ACCESS2000 öffnet.
Danke trotzdem.
Gruss Iso

Antwort 5 von struppi

Hi isoO
Wenn Du auf ein .txt doppelklickst dann wird es mit dem Programm geöffnet, das in Deiner Registry dafür eingetragen wurde. (Meist Notepad oÄ).
Das macht auch Sinn!
Es gibt die Möglichkeit auf ein File mit Rechtsklick das Kontextmenü aufzurufen.
In dem Kontextmenü könntest Du weitere Programme festlegen, die Dein File öffnen sollen.
So ist zb denkbar ein .VBS aufzurufen, das den Text in eine Datenbank einliest und diese dann öffnet.
Sichtbar für Dich wäre nach dem Rechtsklick nur die sich öffnende DB mit Deinem Text.
Eine weitere Möglichkeit besteht darin der Datei eine "eigene" Endung zu verpassen ZB *.iso . Dateien mit dieser Endung könntest Du dann doppelklicken und grundsätzlich mit besagtem Script einlesen.
Eine 3. Möglichkeit wäre *.txt Dateien grundsätzlich erst über ein script zu öffnen und vorher auf Besonderheiten zu prüfen (zb Parameter). Danach entscheidet das Script mit welchen Editor geöffnet wird oder ob der Kram in eine DB eingelesen weren soll.
(Letzteres würde ich aber nicht empfehlen).
GRuß struppi

Antwort 6 von isoo

Hai Struppi
Deine 2te Idee mit dem vbs, also ich hab ein eigenes Format kreiert .dzl nun möchte ich es in ACCESS öffnen können , weist Du wie das script aussehen müsste?
Danke für die Idee von Dir
Gruss Iso

Antwort 7 von struppi

Hallo isoo
Das wird eine etwas umfangreichere Aktion! Vorallem über das SN. Aber wir können es mal Schritt für Schritt versuchen.

1. Erstelle eine neue DB. mit Namen isoo.mdb
2. Erzeuge eine Tabelle mit Namen Tabelle1
3. Erzeuge in der Tabelle eine Spalte im Format "Memo" mit Namen Textdatei
(Kein Primärschlüssel!)
4. Lege die DB in irgend einen Ordner
5. Erzeuge aus folgendem Code ein VBS
und lege das ebenfals in den Ordner.

myname = WScript.ScriptFullName
mypath = Left(myname, InstrRev(myname, "\"))
Testtext = "Hallo isoo Klappt die Sache bei Dir"

set db = CreateObject("ADODB.Connection")
   db.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" _
   & mypath & "isoo.MDB")


  sql = "insert into Tabelle1 (Textdatei) values (′"   &  Testtext  &  "′)"
  set rs = db.Execute(sql)

doppelklicke auf das script und hoffe das es jetzt etwas in die DB schreibt.
Wenn das klappt machen wir weiter.
Gruß struppi

Antwort 8 von isoo

Hai struppi,
Als aller erstes möchte ich mich bei Dir bedanken für dass das Du mir hilfst,dake.
Ich bin Deinen Anweisungen gefolgt und es klappe auf anhieb.
Gruss iso

Antwort 9 von struppi

Hallo Isoo

Wenn obiger Test geklappt hat dann folgende Schritte durchführen:

In der DB ein Formular erzeugen lassen mit Bezug auf Tabelle1
Formular heißt auch Tabelle1 und hat großes Memofeld.
Bei Formulareigenschaften in der Ereignis-sub beim Anzeigen folgendes schreiben:

DoCmd.Maximize
DoCmd.GoToRecord , , acLast 
--------------------------------------------------------------------------------
Script-code wie folgt ändern:

set args = WScript.Arguments
if args.count = 0 then

WScript.Quit
else
datei = args(0)
end if
set fso=CreateObject("Scripting.FileSystemObject")
  set c=fso.OpenTextFile(Datei,1)
    Testtext=c.ReadAll
    Testtext = Replace(Testtext,chr(39),chr(96))
    c.close
    myname = WScript.ScriptFullName
    mypath = Left(myname, InstrRev(myname, "\"))
set c =   Nothing
set fso = Nothing   

set db = CreateObject("ADODB.Connection")
    db.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" _
    & mypath & "isoo.MDB")


    sql = "insert into Tabelle1 (Textdatei) values (′"   &  Testtext  &  "′)"
    set rs = db.Execute(sql)
    db.close
    set db = Nothing
  
  DBopen

sub DBopen
set db = CreateObject("Access.Application")
fname =  "Tabelle1"  
db.OpenCurrentDatabase mypath & "\isoo.mdb"  
db.visible = true
db.UserControl= true
db.DoCmd.OpenForm fname
end sub
-----------------------------------------------------------------------------------------


Danach start/Einstellungen/Ordneroptionen aufrufen.
Registrierkarte Dateitypen wählen
Neuer Typ wählen
In Zugeordnete Erweiterung dzl eintragen
Danach auf NEU drücken
In Vorgang das Wort Open schreiben
In Anwendung für diesen Vorgang     C:\WINDOWS\wscript.exe c:\PfadzuDeinemScript\isoo.vbs 
eintragen
Mit OK abschließen und anderes Symbol aussuchen.
Fertig
Änderst Du jetzt die Endung einer Textdatei in dzl und doppelklickst darauf wird der Text in einer DB gespeichert und dr neue Datensatz sofort in einem Formular der DB angezeigt.
Ist es das was Du wolltest?
Gruß struppi



Antwort 10 von Koebi

@struppi

:-o
....staun!

Gruss
Köbi

Antwort 11 von isoo

Hai struppi
Hee das hat ja supper geklappt! Tausendmal danke. Genau so wollte ich das machen. Ich mach jetzt noch ein paar Anpassungen.
Nochmals tausend dank.
Gruss iso

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: