Access: Wo stimmt ein Datentyp nicht überein?

Ich arbeite mit relativ umfangreichen Access-Datenbanken, in die ich Excel Tabellen importiere.
Nun kommt es immer wieder vor, daß beim Import eine Spalte nicht mit dem richtigen Datentyp importiert wird, so daß Access die Meldung „Im Ausdruck stimmt ein Datentyp nicht überein“ ausgibt.
Prinzipiell weiß ich, was zu tun ist. Gibt es aber eine Funktion in Access, die mir den Datentypkonflikt explizit anzeigt? Ich suche mir da immer einen Wolf, bis ich die schuldige Tabellenspalte gefunden habe.

Danke,
Spot

Moin, Spot,

während des Imports mit TransferSpreadsheet geht das sicher nicht. Der saubere Weg wäre, auf der Senderseite sicherzustellen, dass das Dokument die Specs erfüllt. Wenn das nicht geht: Was hältst Du davon, die Originaltabelle zu kopieren und dort die Formate zu setzen, wie Du sie brauchst?

Gruß Ralf

Danke für die Antwort!

Beides natürlich möglich. Trotzdem wäre es schön, wenn Access nicht nur diese nichtssagende Meldung beim Ausführen einer Abfrage ausgeben würde, sondern mich auf die nicht zusammenpassenden Felder hinweisen würde.
Ebenso beim Import. Da steht auch immer nur, daß irgendwas nicht übereinstimmt, aber leider nicht was…
Wäre einfach eine riesen Debug-Zeitersparnis.

Grüße,
Spot

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Spot,

hast Du Dir mal notiert, bei welchen Datenspalten diese Fehler auftauchen? Sind es Datums- oder
Integer-Spalten? Eventuell kann man ein Makro schreiben, dass genau diese Felder überprüft. Häufig
werden solche Felder als Text formatiert, sind aber nicht als solche erkennbar.

MfG Georg V.

Danke für die Antwort!

Beides natürlich möglich. Trotzdem wäre es schön, wenn Access
nicht nur diese nichtssagende Meldung beim Ausführen einer
Abfrage ausgeben würde, sondern mich auf die nicht
zusammenpassenden Felder hinweisen würde.
Ebenso beim Import. Da steht auch immer nur, daß irgendwas
nicht übereinstimmt, aber leider nicht was…
Wäre einfach eine riesen Debug-Zeitersparnis.

Grüße,
Spot

Hallo,

du hast da ein grundaetzliches Problem, das den Import aus XLS in Access betrifft. Da hat Ms mal wieder einen schoenen Sch… implementiert.
Beim TansferSpreadSheet passiert folgendes:
Access analysiert den Inhalt der erstem 10 Zeilen der XLS Datei und entscheidet dann selbstaendig welche Datentypen jeder Spalte zugewiesen werden. Darauf hat man erstmal keinen Einfluss.
Das geht natuerlich dann schief wenn z.B. in den ersten Zeilen einer Spalte nichts drinsteht und dann kommen Zelle mit Datum.

Ich habe um das Problem zu umgehen verschiedene Varianten realisert, die alle nicht wirklich elegant sind bzw. recht aufwendig sind.

Eine Meoglichkeit: Du oeffnest das XSL-File mittels OLE aus Access und formatierst die entsprechenden Spalten per VBA-Code,speicherst die Datei und importierst sie dann.

andere Moeglichkeit: Du oeffnest das XSL-File mittels OLE aus Access und machst eine Textexport der XLS-Datei. Dann importierst du die Textdatei mittels einer Importspezifikation in Access. Dann kannst du die Datentype in der Importspez. festlegen und das passt dann auch egal was in den Spalten drinsteht.

Was auch keine Loesung ist, die XLS-Datei als Tabellenverknuepfung in Access zu holen und dann per VBA zu importieren, denn dann triffts du auf das gleiche Problem.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

die sicherste und sauberste Lösung in solchen Fällen ist, zunächst eine Access-Tabelle mit den nötigen Feldern und den passenden Datentypen (händisch oder per VBA, bzw. DDL) zu erstellen und danach per Anfügeabfrage die Daten aus der verknüpften Excel-Tabelle zu importieren.

Statt Anfügeabfrage ist auch eine Excel-Automation denkbar, mit der die Excel-Zellen per Schleife ausgelesen und die Werte per DAO- oder ADODB-Recordset in die Access-Tabelle übernommen werden. Dadurch hätte man die volle Kontrolle über die „schlampige“ Berücksichtigung der Datentypen in Excel…

Gruß
Franz, DF6GL

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich arbeite mit relativ umfangreichen Access-Datenbanken, in
die ich Excel Tabellen importiere.

Ich auch

Nun kommt es immer wieder vor, daß beim Import eine Spalte
nicht mit dem richtigen Datentyp importiert wird, so daß
Access die Meldung „Im Ausdruck stimmt ein Datentyp nicht
überein“ ausgibt.

Ich bekomme Excel-Tabellen von andern Firmen und habe auch immer wieder so ein Problem. Für mich sehr einfach und schnell ist es immer, wenn ich die Excel-Tabelle erst als .txt-File exportiere und dann in Access importiere. Dann kann ich explizit angeben, welche Spalte was ist (also Datum, Zeit, Text, usw.)
Sonst suche ich stundenlang nach den Sündenböcken.

Grüsse aus der vor Kälte klirrenden Schweiz.
Beat