Hallo zusammen
Ich versuche ein Mysterium zu ergründen... ich habe für eine meiner Anwendungen ein kleines Konvertierungsprogi geschrieben, dass mir eine
Access-
DB in eine SQLite-
DB konvertiert. Die Tabellen werden dynamisch ausgelesen und entsprechend erstellt.
Nun, funktionierte eigentlich ganz gut, bis...
Alle Felder werden korrekt ausgelesen, bis auf eines. Wenn ich die
Access-
DB in der Entwurfsansicht (
Access 2010) ansehe, so sehe ich klar und deutlich vor meinem inneren wie auch meinem äusseren Auge das der Datentyp auf Integer steht.
Lese ich nun mit meinem Progi genau diese Tabelle aus, so wird mir der Datentyp als ftWord, statt als ftInteger zurückgegeben. Alle anderen Integer funktionieren.
Beheben kann ich das ganz einfach: Wenn ich im
Access den Datentyp ändere auf irgend was, speichere, und dann zurück auf Integer ändere, dann funktioniert es. Nur leider wird die
DB nicht von mir angeliefert, sondern die Benutzer laden sich die
DB selbstständig aus dem Netz herunter.
Da ihr mir eh nicht glaubt folgen Screenshots und ein kompillierbares Beispiel (Delphi 2009, läuft aber auch mit weniger).
Der Code macht evt. nicht mehr viel Sinn da alles Irelevante entfernt wurde, genauso auch in der
DB.
Kennt jemand diesen Effekt und weis damit umzugehen? Nur ungern möchte ich dieses Feld explizit abfragen...
Vielen Dank
RedOne