Access97DB geht Access 2000 oder höher nicht...

B

ByeBye 31659

Hallo,

ich habe selber ein Programm geschrieben, mit dem man eine mit Access 97 angelegte DB bearbeiten kann.
So man kann Daten auslesen, eingeben, ändern, löschen und suchen. Funktioniert alles super. Wenn cih nun aber eine Access 2000 oder höher Version habe mein Programm nicht mehr. Weiß jemand wieso?

Ich benutze VIsual C++ 6.0 unter Windows NT

Hier etwas quelltext....

Code:
#include <afxdao.h> 
..... 
    CDaoDatabase database; 
    CDaoRecordset recordset(&database); 
    
    database.Open("DB.mdb"); 
         sSql.Format("SELECT * FROM Tabelle"); 
    recordset.Open(AFX_DAO_USE_DEFAULT_TYPE, sSql, NULL); 

    while(!recordset.IsEOF()) 
    { 
      iBuch_ID = recordset.GetFieldValue("Buch_ID").lVal; 
           weitere Felder auslesen.... 
           recordset.MoveNext(); 
    } 

    recordset.Close(); 
    database.Close();

Hat jemand eine Idee woran es liegt? Und was ich eventuell ändern muss...
 
Hi!

Es wäre evtl. möglich das Deine DAO-Komponenten nicht aktuell genug sind. Hast Du Access2000 installiert? Dann sollte es funktionieren. Wenn nicht, dann saug Dir mal die neuste MDAC (müßte glaub ich 2.8 sein) von Microsoft (.Hier!)

MfG
..::SD::..
 
So man kann Daten auslesen, eingeben, ändern, löschen und suchen. Funktioniert alles super. Wenn cih nun aber eine Access 2000 oder höher Version habe mein Programm nicht mehr. Weiß jemand wieso?
Weil das nicht kompatibel ist mit DAO. DAO wird nicht mehr unterstützt, so weit ich weiss. Bau deinen Code auf ODBC um - das musste ich letztes Jahr auch machen. Ist nicht so schwer - ich habe mir meine Sachen aus dem DBFETCH-Example geholt. Dieser Link hilft dir vielleicht weiter: Recordset (ODBC)
 
Es stimmt, es liegt an deiner DAO verion.
Füge einfach folgendes in deine InitInstance ein:

AfxGetModulState()->m_dwVersion = 0x0601;

Dann müsste es funken.
Die anderen Lösungen sind genauso realisierbar, aber mit mehr Aufwand, ;) :)

MfG
RunSeb
 
Original geschrieben von RunSEb
Es stimmt, es liegt an deiner DAO verion.
Füge einfach folgendes in deine InitInstance ein:

AfxGetModulState()->m_dwVersion = 0x0601;

Dann müsste es funken.
Die anderen Lösungen sind genauso realisierbar, aber mit mehr Aufwand, ;) :)

MfG
RunSeb
Wow! Das hättest du mir letztes Jahr verraten müssen! Hätte ich gut gebrauchen können. :)
 
Hi

Ich habe das gleiche Problem!
Ich habe die Zeile:
AfxGetModulState()->m_dwVersion = 0x0601;
einfach vor das open gesetzt! Die funktioniert aber nicht! (Kommt eine Fehlermeldung beim Compilieren)
Wo muss ich denn die Zeile genau einsetzen?
 

Neue Beiträge

Zurück