Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ADODB in Excel schreiben, Feld Formatierung

ADODB in Excel schreiben, Feld Formatierung
19.12.2014 13:00:51
Tino
Hallo,
bräuchte mal eure Hilfe.
Mittels ADODB schreibe ich Daten in eine externe Excel-Datei,
funktioniert soweit alles.
Ein Problem habe ich allerding noch,
wenn die externe Tabelle bereits Daten (Recordset) enthält
mit Datum, Zahlen, Text im entsprechenden Feld werden die neuen Daten
im richtigen Format geschrieben.
Ist aber noch kein Recordset enthalten und ich erstelle einen,
werden alle Felder als Text geschrieben egal ob die Spalten zBsp. als Datum formatiert ist.
Meine Frage dazu nun,
wie kann ich in die externe Datei die außer der Überschrift
noch keine Daten enthält in die einzelnen Felder im richtigen Format (Datum, Zahl, Text) schreiben.
Gruß Tino

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
hier noch Dateien als Bsp. o. zum testen
19.12.2014 13:21:25
Tino
Hallo,
ADODB-Excel.xls = die mit dem VBA-Code
Extern-File.xls = die Datei in die geschrieben werden soll
https://www.herber.de/bbs/user/94511.zip
Gruß Tino

AW: hier noch Dateien als Bsp. o. zum testen
19.12.2014 20:12:10
ChristianM
Hallo Tino,
das scheint wirklich nicht so einfach zu sein...
Wenn du dir im Lokalfenster bei "adoRS" die Fields-Items anschaust, steht der Type bei Tabelle ohne Datensätze auf dem Wert "adVarWChar". Hier wird die Überschrift (Text) als Vorlage für das Format herangezogen.
Wenn bereits ein Datensatz im richtigen Format vorhanden ist, wird dieses für die weiteren Datensätze verwendet.
Du kannst zwar in der Prozedur "Open_Recordset" vor dem Öffnen des Recordsets Felder mit korrekten Format hinzufügen, aber bei ".Open strSQL" werden diese wieder verworfen.
Userbild
Bei MicroSoft gibt es unter http://support.microsoft.com/kb/278973 ein Beispiel aus dem Jahr 2000 (ExcelADO.exe).
Entpacke das Archiv und öffne die Datei "Orders.asp" in einem Texteditor. Dort heißt es:
'**Note: The first "row" in the Orders_Table is hidden -- it contains dummy data that
' the OLE DB Provider uses to determine the data types for the table.
Leider keine weitere Idee ...
Grüße
Christian

Anzeige
google auch schon tagelang ohne Lösung! oT (offen)
19.12.2014 21:36:15
Tino

AW: google auch schon tagelang ohne Lösung! oT (offen)
19.12.2014 22:30:07
ChristianM
Nun, der einzige Weg scheint wohl der von MS vorgeschlagene zu sein, denn offensichtlich interpretiert der OLE DB Provider das DataType.
Gruß
Christian

ja diese Lösung habe ich zZ im einsatz...
19.12.2014 22:46:34
Tino
Hallo,
dachte nur das man beim ersten Aufruf die Felder formatieren könnte.
Ich lass mal offen, evtl . weiss einer was drüber!
Gruß Tino

AW: ja diese Lösung habe ich zZ im einsatz...
20.12.2014 18:09:06
Luschi
Hallo Tino,
vielleicht sollte man das Verfahren umdrehen:

- lesen der Exceldaten aus einer Datei per ADODB
- statt dem Ado-Recordset ein Array zu übergeben
- zum Schreiben der Daten aus dem Recordset in eine andere Exceldatei besitzt Excel seit
2003 die Methode 'CopyFromRecordset'
Ich versuche das mal in ein Beispiel zu formen.
Gruß von Luschi
aus klein-Paris

Anzeige
meinst du das man dies umdrehen kann?
20.12.2014 18:17:44
Tino
Hallo,
in der Art CopyToRecordset.
Wenn du dies hinbekommst als Bsp. vielleicht auch in mein Bsp. aufzubauen wäre super!
Gruß Tino

Geht wahrscheinlich nicht oder? oT.
25.12.2014 19:44:04
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige