vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Zugriff auf Excel via DAO 
Autor: Tommi467
Datum: 08.01.13 10:23

Hallo zusammen,

ich muß mit einem vb.net Programm Daten aus einer bestehenden Exceltabelle lesen und ergänzen.

Da die Exceltabelle Formatierungen enthält, die auf keinen Fall beeinflußt werden dürfen
und um den Code so klein und einfach wie möglich zu machen, habe ich mich entschlossen,
den Datenzugriff via DAO durchzuführen.

Die nachfolgende Sub verrichtet auf der Entwicklungsumgebung (Win 7 64 Bit) tadellos ihren Dienst.
Die EXE wurde für .net4 Framework und x86 kompiliert. Alles funzt wie gewünscht.
Schiebe ich diese Exe nun aber auf dem Zielrechner, bekomme ich eine Fehlermeldung:
Unbehandelte Ausnahme... Eine Instanz der COM-Componente mit der CLSID {00000010-0000-0010-8000-00AA006D2EA4} konnte aufgrund des folgenden Fehlers nicht von der IClassFactory erstellt werden: 80040112

Natürlich habe ich MDAC drauf und auch versucht die DAO350.dll via Regscr32 einzutragen.
Das Ergebnis bleibt aber das gleiche. Auch die Acdbmgd.dll liegt im Verzeichnis.
Kann mir jemand weiterhelfen?

Würde dies auch mit ADO funktionieren und wenn ja,
wäre der Source auch mit ADO so kompakt?
Und würde mit ADO die Excel-Formatierung unangetastet bleiben?


 
    Sub Datenspeichern()
 
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
 
        Dim DAOEngine As DAO.DBEngine
        DAOEngine = New DAO.DBEngine
 
        db = DAOEngine.OpenDatabase("S:\Daten.xls", _
          DAO.DriverPromptEnum.dbDriverNoPrompt, False, "Excel" & _
          "5.0;DATABASE=Drucker")
        rs = db.OpenRecordset("Data$", DAO.RecordsetTypeEnum.dbOpenDynaset)
 
        rs.LockEdits = False
        rs.MoveLast()
 
        For I = 1 To 11
            DataAlt$(I) = rs(DataFeld(I)).Value
        Next
 
        rs.LockEdits = False
        rs.AddNew()
 
        For I = 1 To 11
            If Data$(I) = 0 Then Data$(I) = DataAlt$(I)
            rs(DataFeld(I)).Value = Val(Data$(I))
        Next
 
        rs("Datum").Value = Date.Today
        rs.Update()
 
        rs.Close()
        db.Close()
 
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zugriff auf Excel via DAO2.473Tommi46708.01.13 10:23
Re: Zugriff auf Excel via DAO1.400ModeratorDaveS08.01.13 11:14
Re: Zugriff auf Excel via DAO1.213Tommi46708.01.13 11:24
Re: Zugriff auf Excel via DAO1.207ModeratorDaveS08.01.13 11:46
Re: Zugriff auf Excel via DAO1.202Tommi46708.01.13 11:49
Re: Zugriff auf Excel via DAO1.262ModeratorDaveS08.01.13 12:41
Re: Zugriff auf Excel via DAO1.280ModeratorFZelle08.01.13 19:51
Re: Zugriff auf Excel via DAO1.317effeff08.01.13 20:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel