Einzelnen Beitrag anzeigen

aiko07

Registriert seit: 12. Apr 2003
8 Beiträge
 
#1

Unterschied Access97--> Access2000

  Alt 3. Jan 2010, 16:43
Datenbank: Access • Version: 97 +2000 • Zugriff über: Ado-Connection->AddoTable-> DataSource
Hallo Forumsmitglieder,
vorab wuensche ich Allen ein angenehmes neues Jahr 2010.
ich beschäftige mich aus Hobby mit dem Thema Delphi (2009) und nun auch mit Datenbank, speziell Access.

Ich greife auf eine Mdb-Datenbank mit 9 Tabellen über Ado-Komp. zu. (Ado-Connection->AddoTable-> DataSource).Die AdoTable-Comp. habe ich mit einer Tabelle mit folgenden Feldern verbunden: Feld1: Text, Feld2: Text; Feld3: LongInt als Autowert (PrimaerKey); Feld4: Ja/Nein, Feld5: Ja/Nein, Feld6: Zahl(longInt). Ich habe die Datenbank im ori. im Format 97 vorliegen und anschliessend ueber Access in das Format 2000 konvertiert. Ich habe der Addotable-Comp. die Felder der Tabelle ueber die "Fields-Eigenschaft" zugewiesen.

Ich möchte auf beide,97 +2000 Access-Formate, zugreifen. Für die ersten Tests weise ich den Connection-String direct der Ado-Connection-Comp zu.

Zur Datensteuerung verwende ich eine eine DB-Grid und ein DBNavigator.

Der erste Test erfolgte auf die Access2000-Format-Datenbank.
Ich lege ueber das DBNavigator einen neuen Datensatz an und trage im Feld2 einen String ein. Anschliessend ueber Post wird der Datensatz in die Tabelle einegefuegt. Alles OK, keine Fehler, wichtig, der Autowert in Feld3 wird inkrementiert.

Anschliesssend der gleiche Test mit der Acceess 97 Version. Verbindung OK, alle vorhandenen Daten werden im Grid dargestellt. Ich fuege einen neuen Datensatz ein, OK, leeres Record wird dargestellt. Ich fuege einen String im Feld2 ein, OK. Ich schliesse den Befehl mit "Post" ueber DBNavigator ab, OK, aber das Feld3 (Autowert) wird nicht inkrementiert, ist leer. Ueber den Nav-Button "Actualisieren" versuche ich die Tabelle zu actualisieren, es wird folgende Debugger-Exeption ausgeloest.
"Der Schluesselwert fuer die Zeile wurde in der Datenquelle geaendert oder geloescht. Die lokale Zeile ist nun geloescht."

Ist mir schon klar, nur warum wird der Autowert nicht inkrementiert?

//---->
Connection-String Access97
(Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;User ID=Admin;Data Source=C:\Temp\test\Database.mdb;Mode=Share Deny None;Extended Properties=";COUNTRY=0;CP=1252;LANGID=0x0409";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDBatabase Password="";Jet OLEDB:Global Partial Bulk Ops=2

Connection-String Access2000
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Temp\test\Database_2.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDBatabase Password="";Jet OLEDB:Engine Type=5;Jet OLEDBatabase Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDBon't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
//<---


Vielen dank fuer Eure Rueckmeldung.

Viele Gruesse,

Bernd
  Mit Zitat antworten Zitat